簡體   English   中英

如何在Varnish VCL中提取和解碼base64參數

[英]How to extract and decode base64 parameter in Varnish VCL

為了使緩存無效,我使用以下方式對網址進行編碼:

$clean_url = base64_encode( $url );

http://url_of_the_varnish_host_to_clean/clean/url?v=$clean_url

我想捕獲此URL,以在我的vcl文件中對其進行清理和解碼。 我這樣捕獲請求:

if (req.url ~ "^/clean/url?v=") 

但是我不知道如何捕獲參數並對其進行解碼。

您至少將需要vmod_digest ,它提供了digest.base64_decode函數。

另外,您的正則表達式有點錯誤,應為:

if (req.url ~ "^/clean/url\?v=") 

就是說,為什么您的無效邏輯必須如此復雜? 為什么不以標准方式進行操作-即根據定義的ACL檢查清除IP的匹配項,並使PURGE請求的URL(不是參數)無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM