[英]Nginx - pass proxy_cache value with proxy_cache_bypass
我有多個proxy_cache_path
指令,在http
塊中,我想將proxy_cache
變量的值傳遞給 lua 模塊。 但是,我不想多次定義路由(/tmp/cache/BackendA 或 /tmp/cache/BackendB 等)。 我寧願將它存儲在一個變量中。
我的配置片段:
http {
proxy_cache_path /tmp/cache/BackendA keys_zone=BACKEND_A_PROXYCACHE:50m max_size=1g use_temp_path=off inactive=20m;
proxy_cache_path /tmp/cache/BackendB keys_zone=BACKEND_B_PROXYCACHE:100m max_size=2g use_temp_path=off inactive=30m;
# ...
server {
# ...
location =/BackendA/ServiceA {
# ...
proxy_cache BACKEND_A_PROXYCACHE;
# set $cache_folder_path "/tmp/cache/BackendA";
set $cache_folder_path $proxy_cache;
proxy_cache_bypass $cache_folder_path;
}
location =/BackendB/ServiceB {
# ...
proxy_cache BACKEND_B_PROXYCACHE;
# set $cache_folder_path "/tmp/cache/BackendA";
set $cache_folder_path $proxy_cache;
proxy_cache_bypass $cache_folder_path;
}
}
}
如果我嘗試使用set $cache_folder_path $proxy_cache;
命令然后我無法啟動 nginx 服務器。
錯誤信息:
nginx: [emerg] unknown "proxy_cache" variable
我正在尋找比評論部分更優雅的解決方案: set $cache_folder_path "/tmp/cache/BackendA";
問題是我現在該怎么辦? 將不勝感激任何幫助。
如果您使用 Linux 並且支持 apt-get,用於緩存模塊
apt-get install nginx-extras
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.