事情是这样的:
国庆期间国内网络对很多域名进行了污染,其中影响最大的是Minecraft正版验证api以及VSCode官网。当尝试登录或使用上述应用时,其HTTP请求会被重定向到国家反诈中心以及工信部反诈中心的提示页面
也因为这波莫名其妙的风波,最近某位朋友的手头大量部署在vercel上的服务被运营商劫持,被301跳转到反诈中心页面
对于用户而言,只能切换DNS或者使用代理来防止劫持
昨天和一位大佬交流过这件事后得到了一些点拨,这里做个记录
昨天受大佬 @XYen0n 点拨,聊到关于运营商劫持网站强制301跳转到反诈中心页面
— Steven Lynn (@Stv_Lynn) October 4, 2023
虽然没太听懂具体原理,但是大致意思是通过HSTS强制用户从https访问域名就可以解除被劫持状态
… pic.twitter.com/QceFwFNRvj
步骤
1. 开启HSTS
在cloudflare中,进入域名管理,选择SSL/TLS-Edge Certificates-HTTP Strict Transport Security (HSTS)-Enable HSTS,如下图进行配置
按以上操作开启后会导致所有域名下的服务(包括子域名)强制使用https加密传输,如果该域名下有http的服务则不建议这么做
2. 申请HSTS常驻
以上开启之后需要用户至少正常访问一次网页才能正常开启
作为补充,需要再在hstspreload.org登记后才会将域名记录在主流浏览器的新版本中,更新之后,会直接加入这个网站到名单。