我正在實現nginx作爲Django項目的反向代理。現在我想實現下面的nginx的緩存配置:如果用戶通過身份驗證,繞過nginx緩存Django
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:5m max_size=1g inactive=60m;
proxy_temp_path /var/cache/nginx/tmp;
server {
...
location/{
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
# cache
proxy_cache my_cache;
proxy_cache_min_uses 1;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_cache_lock on;
proxy_hide_header "Set-Cookie";
add_header X-Proxy-Cache $upstream_cache_status;
}
}
所有的偉大工程,但我想它,以便驗證的用戶能夠繞過緩存,否則當他們更新網站的內容,他們贏了不會看到更改,只有緩存的內容纔會到期。
什麼是最好的方法來解決這個問題?
任何幫助將不勝感激。
感謝
緩存動態內容幾乎總是一個壞主意 – e4c5
網站並不是非常動態的,只是當管理員進行更新時,進行修改的用戶將無法查看更新,直到緩存過期(或者他們在url欄中輸入nocache)。 – tdsymonds
你每天獲得多少頁面瀏覽量 – e4c5