解决CDN缓存301的问题
今天在部署新的节点的时候,遇到了一个奇怪的事情,就是配置完 Nginx 后,访问 443 端口出现莫名其妙的 301 循环。
我的 Nginx 的配置文件如下:
server {
listen 80;
server_name s2.61bts.com;
location / {
return 301 https://s2.61bts.com$request_uri;
}
}
server {
listen 443 ssl;
server_name s2.61bts.com;
ssl_certificate /etc/nginx/ssl/s2.61bts.com.fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/s2.61bts.com.key;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
location / {
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://172.20.0.21:8080;
}
}
正常情况下,访问 80 端口会 301 到 443 端口去,然后就正常访问了。
但是这次,却出现了 301 循环。
检查了 Nginx 配置,防火墙等等各个地方,就是没有查出原因来。
在命令行下用 curl 访问 443 端口显示的是 301 跳转的内容,总感觉哪个地方有缓存一样。
郁闷了小半天,突然想起来了我还有CDN没有检查。由于这个服务器是在国外,为了提升国内访问速度,所以我配置了CDN。
我登陆域名管理面板,把CDN先关掉,再访问一切正常!!还真是CDN的问题。
但是是哪里的配置导致的缓存呢?
最终发现原来是回源的问题。
Cloudflare 默认的 SSL 策略是 Flexible,也就是回源的时候不使用 SSL/TLS 加密,而是直接访问 80 端口。然后CDN一般都会直接缓存 301 页面,这就导致访问 443 的时候其实是访问的缓存,进而产生循环。
既然找到了原因那就好办了,只需要设置为 Full 模式,强制回源的时候走 443 端口就可以了。
设置好以后,重新打开CDN,清掉所有缓存,再访问,一切正常!
ET碎碎念,每周一,晚六点一刻更新,欢迎订阅
欢迎使用 SteemEditor 来编写文章,获取 @steemeditor.bot 的点赞!
感谢你的阅读,我是中文区见证人之一,欢迎通过 SteemConnect 来给我投票,或者打开 https://steemitwallet.com/~witnesses 页面,输入 ety001 进行投票。
中文区的见证人目前有:
支持一下他们(按字母顺序),一人可以有30票:
Thank you for reading. I'm a witness. I would really appreciate your witness vote! You can vote by SteemConnect. Or open https://steemitwallet.com/~witnesses page, input ety001 to vote.
Leave 解决CDN缓存301的问题 to:
Read more #cn posts
Best Posts From ETY001
We have not curated any of ety001's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From ETY001
- 解决CDN缓存301的问题
- Hivians, PLEASE BLOCK ME. Thank you!
- Hive chain coming is a SHAME TIME for Steem.
- 达则兼济天下
- 中国大陆地区第一台不稳定Steem全节点正式上线
- Code Server使用小技巧--禁用浏览器标签页关闭
- 区块链公司该如何保护自己的资产
- 我不站队Sun,但是我为个人资产站队
- 由《Vue.js: The Documentary》想起的一件往事
- 从帮助400+用户7天重温了9000+个书签说起
- 先问是不是,再问为什么
- 解决每次zip压缩后的md5不同的问题
- 这并不是远程工作的元年
- Google Analytics Api 使用
- 《爱情公寓》的剧终
- 最近的三两事
- 全新版本的Chrome扩展“温故知新”已通过审核上线
- 细节描写要适可而止
- 蓄势待发
- 用 js 控制 manifest.json 的 chrome_url_overrides