# 定义缓存路径
Syntax: proxy_cache_path patch [levels=levels]
Default: -
Content: http
# 缓存
Syntax: proxy_cache zone|off;
Default: proxy_cache off;
Content: http,servre,location
# 缓存过期周期
Syntax: proxy_cache_valid [code..] time;
Default:-
Content: http,server,location
# 缓存维度
Syntax: proxy_cache_key string;
Default: proxy_cache_key $scheme$proxy_host$request_uri;
Content: http,server,location
http {
# 例子
# levels 分级缓存,key_zone 空间名字以及大小,max_size 控制这个目录最大大小,inactive 60分钟内没有使用就会别清掉, use_temp_pach 是使用临时文件
proxy_caache_path /opt/app/cahe levels=1:2 key_zone=xxx_cache:10m max_size=10g inactive=10m use_temp_path=off;
server {
location / {
#proxy_pass http://xxx;
# 使用缓存
proxy_cache xxx_cache;
# 200 304 头12小时才过期
proxy_cache_valid 200 304 12h;
# 除了200 304 10分钟后才过期
proxy_cache_valid any 10m;
# 缓存维度
proxy_cache_key $scheme$proxy_host$request_uri;
# 告诉客户通缓存命中状态
add_head Ngin-Cache "$upstream_cache_status";
# 如果有错误将跳过访问下一套
proxy_next_upstream err timeout invalid_header http_500 http_502 http_503 http_504;
#include proxy_params;
}
}
}
# 配置某些URL不缓存
Syntax: proxy_no_cache string ...;
Default: -
Content: http,server,location;