0
点赞
收藏
分享

微信扫一扫

proxy_cache

悬灸人雪洋 2022-02-15 阅读 72



proxy_cache_key

proxy_cache_key $scheme$proxy_host$request_uri;


proxy_cache_key "$host$request_uri $cookie_user";


proxy_cache_key $scheme$proxy_host$uri$is_args$args;



proxy_cache_methods

Syntax: proxy_cache_methods GET | HEAD | POST ...;
Default:
proxy_cache_methods GET HEAD;


proxy_cache_path

这个标签在http标签中

Syntax: proxy_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [min_free=size] [manager_files=number] [manager_sleep=time] [manager_threshold=time] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time];
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;

配置多个

# 规则key=jycscache 内存缓存空间大小为10MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为200m
proxy_cache_path /nginxcache/jycs keys_zone=jycscache:10m inactive=1d max_size=200m;


proxy_cache_path /nginxcache/notice keys_zone=noticecache:10m inactive=1d max_size=200m;



proxy_cache_valid

Syntax: proxy_cache_valid [code ...] time;
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;

set 10 minutes of caching for responses with codes 200 and 302 and 1 minute for responses with code 404.

In addition, the ​​any​​ parameter can be specified to cache any responses:


proxy_cache_min_uses

# 设置请求发生多少次后,请求(响应内容)被缓存

syntax:
proxy_cache_min_uses number;

default:
proxy_cache_min_uses 1;


例子

location = /mycontext/notice.do {

set $c_uri $args;

if ($c_uri ~ (.*)(?:&|^)t=[^&]*(.*)) {
set $c_uri $1$2;
}

proxy_cache noticecache;
proxy_cache_valid 200 302 30m;
# proxy_cache_methods POST;
# proxy_cache_valid any 0s;
# proxy_cache_key "$request_uri|$request_body";
proxy_cache_key "$uri|$c_uri";
# proxy_cache_key "$request_uri|$args";
# proxy_cache_key "$uri|$request_body";
#proxy_ignore_headers Cache-Control Expires;
# proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie;


proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://hbwx_read;

}


参考文档: ​​http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstream​​




举报

相关推荐

0 条评论