[英]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.