关于nginx跳过缓存配置proxy_cache_bypass


第一个是url包含preview和cauth不缓存,第二个是url包含type =4的缓存,其他都不走缓存。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
        location ~* /apadlibrary/.*GetJpgUrl.aspx.* {
                proxy_next_upstream http_502 http_504 error timeout invalid_header;
                proxy_pass http://usp_sub;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_set_header  Host  $host:$server_port;
                proxy_set_header  X-NginX-Proxy  true;
                proxy_redirect     off;
                proxy_ignore_headers Expires;
                proxy_ignore_headers Cache-Control;
                proxy_cache cache_one;
                proxy_cache_valid 301 302 1d;
                proxy_cache_bypass $arg_preview $arg_cauth;
                add_header  Nginx-Cache "$upstream_cache_status";
                expires 1d;
        }
        location ~* /.*/Detail.mvc.* {
                proxy_next_upstream http_502 http_504 error timeout invalid_header;
                proxy_pass http://usp_iis;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
                proxy_set_header  Host  $host:$server_port;
                proxy_set_header  X-NginX-Proxy  true;
                proxy_redirect     off;
                proxy_ignore_headers Expires;
                proxy_ignore_headers Cache-Control;
                proxy_cache cache_one;
                proxy_cache_valid 301 302 1d;
                set $nocache 1;
                if ($arg_type = "4") {
                        set $nocache 0;
                        }
                proxy_cache_bypass $nocache;
                add_header  Nginx-Cache "$upstream_cache_status";
                expires 1d;
        }

Whatever is worth doing is worth doing well.