我有一個請求: http://www.example.com/app?test=1
. 希望當有test=1
這個請求參數的時候快取這這個url
. 請問nginx
能做到麼? 。
我在設定檔中寫
service {
location /app {
if ( $arg_test ) {
//nginx 的 cache 的配置
}
}
}
但是 啟動的時候報錯。告訴我 cache
不能配置在 if
區塊中。 。 。
淡淡烟草味2017-05-16 17:26:57
首先,你當然不能將全部
的配置放在if中
不過你可以這樣
location /app {
proxy_set_header Host $host;
proxy_cache_path /data/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m;
if ( $arg_test ){
proxy_pass http://backend:backport;
}
}
這個回答可能也不符合你的要求, 但真的需要對cache的配置進行條件化嗎?
貼文更細節點的設定檔也許能更了解你的需求...
歡迎追蹤本人segmentfault部落格.