为了反映新文章,在WordPress中将Nginx缓存设置为与博客分开
你好,我是无能。
本网站没有使用Cloudflare,而是自行构建了类似的机制并进行了缓存。
这样一来,所有细节都可以自己管理,而且自己动手做任何事情都更有趣!
为了应用以下设置,我决定在WordPress设置中,将/blog/插入到本博客的文章永久链接中。
请注意,此语法还包括反向代理设置,因此请务必仔细选择是否需要。
Nginx缓存设置
location / {
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_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $bypass $do_not_cache;
proxy_no_cache $do_not_cache;
proxy_redirect off;
proxy_cache_revalidate on;
proxy_ignore_headers Cache-Control Expires;
proxy_hide_header Cache-Control;
proxy_hide_header Pragma;
add_header Content-Security-Policy upgrade-insecure-requests;
add_header X-Cache-Status $upstream_cache_status;
proxy_cache your_cache1;
proxy_pass http://192.168.10.101/;
}
location /blog/ {
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_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $bypass $do_not_cache;
proxy_cache_bypass $http_cache_control $http_if_modified_since;
proxy_no_cache $do_not_cache;
proxy_redirect off;
proxy_cache_revalidate on;
proxy_ignore_headers Cache-Control Expires;
proxy_hide_header Cache-Control;
proxy_hide_header Pragma;
add_header Content-Security-Policy upgrade-insecure-requests;
add_header X-Cache-Status $upstream_cache_status;
proxy_cache your_cache2;
proxy_pass http://192.168.10.101/blog/;
通过分别更改proxy_cache的值来更改缓存位置,并且在保留博客缓存的同时删除your_cache1,从而可以在保留/blog缓存的同时反映新文章。
但实际上,是不是最好用proxy_cache_valid将your_cache1设置为短期,并将/blog/的your_cache2长期保留呢?
考虑到这种想法,我打算稍后进行调整。