___  ___    _ _    _  _ _____   _____
 / __|/ _ \  | | |  | || |_ _\ \ / / __|
| (_ | (_) | |_  _| | __ || | \ V /| _|
 \___|\___/    |_|  |_||_|___| \_/ |___|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

解决CDN缓存301的问题

BY: @ety001 | CREATED: March 20, 2020, 7:55 p.m. | VOTES: 11 | PAYOUT: $2.48 | [ VOTE ]

今天在部署新的节点的时候,遇到了一个奇怪的事情,就是配置完 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的问题。

但是是哪里的配置导致的缓存呢?

最终发现原来是回源的问题。

[IMAGE: https://steemeditor.com/storage/images/AU7fqlSlp2xqtEuO3p8uYFHP844nTM9CWoyHPACy.png]

Cloudflare 默认的 SSL 策略是 Flexible,也就是回源的时候不使用 SSL/TLS 加密,而是直接访问 80 端口。然后CDN一般都会直接缓存 301 页面,这就导致访问 443 的时候其实是访问的缓存,进而产生循环。

既然找到了原因那就好办了,只需要设置为 Full 模式,强制回源的时候走 443 端口就可以了。

设置好以后,重新打开CDN,清掉所有缓存,再访问,一切正常!

ET碎碎念,每周一,晚六点一刻更新,欢迎订阅

[IMAGE: https://steemeditor.com/storage/images/IucEYuEtIxqdcAGJ9NxOVuZTLhd2cyvBKliqds2g.jpeg]

欢迎使用 SteemEditor 来编写文章,获取 @steemeditor.bot 的点赞!

感谢你的阅读,我是中文区见证人之一,欢迎通过 SteemConnect 来给我投票,或者打开 https://steemitwallet.com/~witnesses 页面,输入 ety001 进行投票。

[IMAGE: https://steemitimages.com/DQmZfJo3F8NXpFx7nenQA3zTU9jg6YoRQvfyeeHgSYpdqr4/2.gif]

中文区的见证人目前有:
支持一下他们(按字母顺序),一人可以有30票
- @ety001| 投票
- @justyy |投票
- @maiyude | 投票

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.

[IMAGE: https://steemitimages.com/DQmZfJo3F8NXpFx7nenQA3zTU9jg6YoRQvfyeeHgSYpdqr4/2.gif]

TAGS: [ #cn ] [ #cn-dev ]

Replies

@derangedvisions | March 26, 2020, 5:23 p.m. | Votes: 0 | [ VOTE ]

If you dont like the Hive chain or community, why post here?

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>