使用Namecheap、Cloudflare、GitHub Pages时HTTP正常HTTPS无法访问如何解决
Fastly未知域名错误的核心原因是部分区域的HTTPS请求没有路由到Cloudflare节点,直接被解析到GitHub Pages底层使用的Fastly CDN节点,而Fastly侧未完成域名绑定因此拦截了请求。可按照以下步骤逐一排查处理:
问题排查与处理步骤
1. 域名DNS解析配置校验
- 确认Namecheap后台的DNS服务器已经完全修改为Cloudflare分配的NS记录,不要残留原NS或第三方NS记录,部分区域DNS解析如果命中旧NS,会直接解析到GitHub Pages的Fastly节点触发报错
- 检查Cloudflare后台的DNS记录配置:GitHub Pages对应的A/AAAA记录配置正确,且代理状态已开启(橙色云标识),禁止使用灰色云(DNS仅解析)模式,灰色云模式下请求会直接透传到Fastly,同样会触发未知域名错误
- 在不同网络环境下执行
nslookup josipmuzic.com命令测试解析结果,确认返回的IP均为Cloudflare的节点IP,而非Fastly/GitHub Pages的IP
2. Cloudflare SSL/TLS配置校验
- 确认SSL/TLS加密模式设置为「完全」或「完全(严格)」,禁止设置为「灵活」模式,灵活模式下Cloudflare到GitHub Pages的请求走HTTP,和GitHub Pages的HTTPS配置冲突会引发异常
- 检查Cloudflare边缘证书是否已成功签发,覆盖
josipmuzic.com和www.josipmuzic.com(如果配置了www子域),证书状态显示为「激活」才算正常 - 确认「始终使用HTTPS」规则没有配置错误,不存在重复跳转规则导致重定向循环
3. GitHub Pages 侧配置校验
- 进入对应仓库的Pages设置页,确认自定义域名栏已经正确填写
josipmuzic.com,且「强制HTTPS」选项保持关闭:Cloudflare侧已配置HTTPS强制跳转,GitHub Pages侧再开启会引发跳转冲突,同时GitHub Pages的自定义域名绑定是Fastly识别域名的前提 - 确认仓库根目录下的
CNAME文件内容为josipmuzic.com,无拼写错误
4. 生效验证
- 所有配置修改完成后,清空Cloudflare缓存,等待DNS解析全球生效(通常最长需要48小时),再分区域测试HTTPS访问是否正常
- 如果部分区域仍有报错,可在对应区域执行
ipconfig /flushdns(Windows)或sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder(macOS)清理本地DNS缓存后重试
内容的提问来源于stack exchange,提问作者SirBepy
相关产品推荐
相关产品推荐

