使用nginx反代cloudflare下https站点

2020年06月12日 197点热度 2人点赞 1条评论

完整代理规则,以宝塔7.2版本为例:

自己域名反代自己在cloudflare的域名进行加速

自己的域名反代别人在cloudflare的域名

反代cloudflare 的站点下nginx的缓存和反代的缓存设置

1.如果源站设置expires、源站端max-age和反代nginx cahe端的proxy_cache_valid的情况下,最终是以源站设置的expires的值进行缓存过期处理
2.假如在反代nginx中设置了相关配置,取消源站expires对缓存的影响(proxy_ignore_headers),在同时设置了源站expires、源站端max-age和反代nginx cache端的proxy_cache_valid的情况下,最终以源站端max-age的值进行缓存过期处理
3.假如取消源站expires和源站端max-age对缓存的影响,则以反代nginx端proxy_cache_valid设置的值为标准进行缓存的过期处理
4.反代nginx端inactive的值不受上面所影响,就是请求页面后,根据inactvie设置的时间,都会强制进行缓存清理
5.所以对缓存过期的优先级进行排序为:inactvie、源站expires、源站端max-age、反代nginx的proxy_cache_valid



#以下缓存配置在反代规则里需要缓存的路径(不需要缓存的路径或者规则不要添加下面的)
add_header X-Cache $upstream_cache_status;
#增加头信息,可以在浏览器F12里观察
proxy_ignore_headers Set-Cookie Cache-Control expires;
#重要,强制缓存,不然有些页面不缓存
proxy_cache cache_one;
#开启缓存 缓存区名称
proxy_cache_key $host$uri$is_args$args;
#缓存key
proxy_cache_valid 200 304 2h;
proxy_cache_valid 301 302 3d;
proxy_cache_valid any 10m;
#状态码200,304状态缓存2小时-301,302的过期为3天,其余状态码10分钟过期

这样配合上面的话就是,常用的缓存文件,比如200 304状态的缓存为2小时,301 302状态的缓存为三天,其余状态10分钟
这样不用手动去清理缓存文件,自动的清理了。

本文转载自https://www.hostloc.com/thread-643951-1-1.html

唯一度

上善若水,水利万物而不争。

文章评论

  • 择偶网

    这个不错耶,我喜欢!

    2020年07月16日