使用 Cloudflare 管理域名
我之前一直在用腾讯云来管理我的域名,但最近厌烦了越来越紧的互联网环境(腾讯云强制要求双因子认证),遂将域名服务迁移至赛博菩萨 Cloudflare。
配置 Cloudflare 的域名管理
- 注册 Cloudflare 并添加域名,管理位置
- 更新腾讯云的设置,按照「修改域名 DNS 服务器」的说明更新服务器地址,等待几个小时后可以看到是否更新成功
- 记得更新DNS记录,对于不同的CNAME来解析到不同的位置
- 可以在控制面板看到访问数据,dnsmap可以查看解析图
注意到 Cloudflare 默认不使用SSL来访问,这会导致重定向循环。解决重定向次数过多,需要在配置面板>SSL中设置策略为完全(严格)。
原理如下:
Cloudflare 的“Flexible”模式:
- 在“Flexible”模式下,Cloudflare 和用户之间的通信使用 HTTPS,但 Cloudflare 和源服务器之间的通信使用 HTTP。
服务器强制 HTTPS:
- 如果你的服务器配置为将所有 HTTP 请求重定向到 HTTPS,那么当 Cloudflare 以 HTTP 请求服务器时,服务器会将请求重定向到 HTTPS。
重定向循环的形成:
- 用户请求
https://www.drwang.fun
。 - Cloudflare 使用 HTTPS 接收请求,但以 HTTP 请求源服务器。
- 服务器将 HTTP 请求重定向到 HTTPS。
- Cloudflare 再次尝试使用 HTTP 请求服务器,导致服务器再次重定向。
- 这个循环不断重复,直到达到浏览器的重定向次数限制。
- 用户请求
因此,使用“Full”或“Full (strict)”模式可以确保 Cloudflare 和服务器之间的通信也是 HTTPS,从而避免这种循环。
尽量使用 Full,因为GitHub Page有时候证书没有颁布下来,可能导致证书错误无法访问。具体信息可参见 使用Https访问GitHub Page官方文档
迁移域名
Chat: [email protected]