You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox 52.6 CSS下载字体被拦截(Content Blocked Source)求助

解决Firefox 52.6 @font-face字体加载被拦截的问题

根据你描述的场景——Apache搭建的纯HTTP站点、内嵌CSS加载字体,Chrome正常但Firefox 52.6报Content Blocked Source,且直接访问字体URL可正常下载,以下是针对性的排查和解决方案:

1. 优先修复Apache的字体MIME类型设置

旧版Firefox(尤其是52.x ESR版本)对字体文件的Content-Type响应头检查非常严格,而Apache默认可能将.ttf文件识别为application/octet-stream,这会触发Firefox的拦截机制。

你需要在Apache的配置文件(httpd.conf)或者站点根目录的.htaccess文件中添加以下规则,确保字体文件返回正确的MIME类型:

AddType font/ttf .ttf
AddType font/otf .otf
AddType font/woff .woff
AddType font/woff2 .woff2

添加后重启Apache,再测试字体加载。这是此类问题最常见的根源,因为Chrome对MIME类型的兼容性更宽松,不会因为这个拦截字体。

2. 检查Firefox旧版的特定安全设置

虽然你已经修改了security.fileuri.strict_origin_policy,但Firefox 52还有几个和字体加载相关的配置需要确认:

  • 在Firefox地址栏输入about:config,搜索font.downloadable_fonts.enabled,确保其值为true(默认应为true,但可能被误修改)
  • 搜索security.csp.enable,如果你的站点没有配置内容安全策略(CSP),可以临时将其设为false测试(测试完成后建议改回,避免全局安全风险)
  • 检查network.http.accept.default,确保其值包含font/ttf或font/*,这样Firefox会正确接收字体类型的响应

3. 确保@font-face的路径写法绝对可靠

虽然你提到将字体移到根目录也无效,但还是建议使用绝对路径来避免相对路径的解析歧义。比如如果你的字体在/test/Myfont.ttf,CSS里应该写:

@font-face {
  font-family: 'Myfont';
  src: url('/test/Myfont.ttf') format('truetype');
}

绝对路径可以避免页面嵌套或目录结构变化导致的路径解析错误。

4. 排除Apache目录访问限制(低概率但需确认)

虽然你直接访问字体URL正常,但可以检查/test目录下是否有.htaccess文件,确保没有设置针对CSS请求的特殊拦截规则(比如限制请求头类型)。不过这种情况很少见,因为Apache默认不会区分请求是来自浏览器直接访问还是CSS加载。

按照上述步骤逐一排查,优先处理MIME类型的问题,应该能解决Firefox 52.6的字体拦截问题。

内容的提问来源于stack exchange,提问作者Tyler Durden

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:17:14