nginx cache不緩存問(wèn)題的原因與解決方案
nginx.conf 部分內(nèi)容:
proxy_temp_path /nginx/cache/temp; proxy_cache_path /nginx/cache/path levels=1:2 keys_zone=cache_test:2048m inactive=7d max_size=10g; ...... location ~ .(gif|jpg|jgep|png)$ { proxy_pass http://upstreams; proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie; proxy_cache cache_test; #設(shè)置緩存的key proxy_cache_key $host$uri$is_args$args; #設(shè)置狀態(tài)碼為200和304的響應(yīng)可以進(jìn)行緩存,并且緩存時(shí)間為1天 proxy_cache_valid 200 304 1d; expires 30d; }
nginx不緩存原因
默認(rèn)情況下,nginx是否緩存是由nginx緩存服務(wù)器與源服務(wù)器共同決定的, 緩存服務(wù)器需要嚴(yán)格遵守源服務(wù)器響應(yīng)的header來(lái)決定是否緩存以及緩存的時(shí)常。
header主要有如下:
Cache-control:no-cache、no-store
如果出現(xiàn)這兩值,nginx緩存服務(wù)器是絕對(duì)不會(huì)緩存的
Expires:1980-01-01
如果出現(xiàn)日期比當(dāng)前時(shí)間早,也不會(huì)緩存。
解決不緩存方案
2.1 方法一:
修改程序或者源服務(wù)器web程序響應(yīng)的header
2.2 方法二:
nginx代理直接加上如下一句:
proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
nginx開啟HSTS讓瀏覽器強(qiáng)制跳轉(zhuǎn)HTTPS訪問(wèn)詳解
這篇文章主要介紹了nginx開啟HSTS讓瀏覽器強(qiáng)制跳轉(zhuǎn)HTTPS訪問(wèn)詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05nginx設(shè)置資源緩存實(shí)戰(zhàn)詳解
這篇文章主要介紹了nginx設(shè)置資源緩存實(shí)戰(zhàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10nginx 基本配置與參數(shù)說(shuō)明詳細(xì)介紹
這篇文章主要介紹了nginx 基本配置與參數(shù)說(shuō)明詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10nginx報(bào)錯(cuò)upstream sent invalid header的解決
本文主要介紹了nginx報(bào)錯(cuò)upstream sent invalid header的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12詳解nginx過(guò)濾url實(shí)現(xiàn)前臺(tái)js的配置問(wèn)題
本篇文章主要介紹了nginx過(guò)濾url實(shí)現(xiàn)前臺(tái)js的配置問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01