關於 `nginx` 的 `cache` 的問題
ringa_lee
ringa_lee 2017-05-16 17:24:57
0
1
573

我有一個請求: http://www.example.com/app?test=1 . 希望當有test=1 這個請求參數的時候快取這這個url. 請問nginx 能做到麼? 。

我在設定檔中寫

service {

    location /app {
      if ( $arg_test ) {
        //nginx 的 cache 的配置
      }
    }
}

但是 啟動的時候報錯。告訴我 cache 不能配置在 if 區塊中。 。 。

ringa_lee
ringa_lee

ringa_lee

全部回覆(1)
淡淡烟草味

首先,你當然不能將全部的配置放在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部落格.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板