nginx反向代理可以缓存post请求

1、nginx 使用URL地址md5后作为缓存的key,所以默认情况下nginx只处理http get请求

2、但是我们可以自定义缓存key 例如"$request_uri|$request_body" 我们将请求地址内容作为缓存的key,这样nginx 便可以区分每次提交后的页面变化。

$request_body 用于缓存的例子:


proxy_cache_path /tmp/cache levels=1:2 keys_zone=netkiller:128m inactive=1m; server { listen 8080; server_name localhost; location / { try_files $uri @backend; } location @backend { proxy_pass http://node1.netkiller.cn:8080; proxy_cache netkiller; proxy_cache_methods POST; proxy_cache_key "$request_uri|$request_body"; proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_cache_valid 5s; proxy_cache_use_stale updating; add_header X-Cached $upstream_cache_status; } }

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注