You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Github HTTPS Pages在Microsoft Edge及IE中无法正常工作求助

解决GitHub Pages + Cloudflare下Edge/IE的字体CORS加载问题

我来帮你搞定这个Edge和IE里的字体加载报错问题,结合你给出的配置和错误信息,问题根源主要在Cloudflare的TLS配置以及跨域资源共享(CORS)的响应头设置上,试试下面的分步解决方案:

1. 切换Cloudflare的TLS/SSL模式到「Full (strict)」

Edge和IE对HTTPS链路的一致性要求比Chrome更严格,如果你之前用的是「Flexible」模式,Cloudflare和GitHub Pages之间的连接是HTTP,这会触发浏览器的安全策略,导致CORS错误:

  • 登录Cloudflare控制台,进入域名的「SSL/TLS」→「Overview」页面
  • 将TLS模式从「Flexible」改为「Full (strict)」—— 因为GitHub Pages本身提供合法的HTTPS证书,这个模式会确保整个请求链路都是HTTPS,完全符合浏览器的安全标准。

2. 给字体资源添加CORS响应头

Edge的内部源ms-appx-web://microsoft.microsoftedge加载字体时被CORS策略阻止,我们需要在Cloudflare里配置响应头允许跨域访问字体:

  • 进入Cloudflare的「Rules」→「Transform Rules」→「Response Headers」
  • 创建一个新的响应头规则:
    • 规则名称:比如Allow Font Cross-Origin Access
    • 匹配条件:选择「URI Path」,匹配所有字体文件后缀(比如*.ttf*.woff*.woff2,根据你实际使用的字体格式调整)
    • 响应头设置:添加Access-Control-Allow-Origin,值设为*(如果要更严格,也可以指定你的域名,不过*对于字体资源来说通常是安全的)
  • 保存并部署这个规则

3. 清除Cloudflare的缓存

Cloudflare可能缓存了旧的响应头和资源,导致新配置无法立即生效:

  • 进入Cloudflare的「Caching」→「Configuration」页面
  • 点击「Purge Everything」,清除所有缓存内容,确保浏览器能获取到最新配置后的资源

4. 确认GitHub Pages的HTTPS设置

从你的截图看已经开启了「Enforce HTTPS」,这步主要是确认该设置处于启用状态,确保GitHub那边的HTTPS证书是有效的,没有配置异常。

额外排查:检查CSS中的@font-face规则

确保你CSS里的字体引用是正确的绝对HTTPS路径,比如https://your-domain.com/assets/fonts/your-font.ttf,避免使用相对路径或者错误的内部路径(虽然报错里的路径看起来是Edge自身的,但确认自己的字体引用没问题能排除其他潜在问题)

这些步骤应该能解决Edge和IE里的字体CORS错误,让你的页面在所有浏览器里正常加载。

内容的提问来源于stack exchange,提问作者Harsh Gupta

火山引擎 最新活动