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

为什么Mozilla Observatory无法检测到我网站的HTTP安全头了?

可能的原因

1. CDN/反向代理配置异常

这是最高发的原因:如果你的网站接入了CDN或者反向代理服务(如Cloudflare、阿里云CDN等),节点的缓存规则、WAF策略可能会过滤掉源站返回的安全响应头,或者直接返回未携带安全头的缓存资源。你本地浏览器访问时可能刚好命中回源后的新鲜资源,因此能看到完整头信息,而Mozilla Observatory的检测请求命中了无安全头的缓存节点资源。

2. 服务器配置规则冲突

你使用的是Apache服务器,若后续有新增虚拟主机配置、目录级.htaccess规则,可能会覆盖你之前设置的安全头规则。如果你的安全头仅配置在特定路径/文件类型(如仅.php文件)的规则下,Observatory检测静态资源或者根路径时就会拿不到对应头。

3. 检测请求被拦截

Mozilla Observatory的请求有专属的User-Agent标识、固定IP段,可能触发了你服务器上的mod_security等安全插件、反爬/限速规则,返回了403、503等错误页面,这类错误页面默认没有配置安全响应头,因此工具判定无安全头。

4. 重定向链缺头

如果你的网站配置了HTTP转HTTPS、带www转不带www等重定向规则,若你仅给最终200状态的响应加了安全头,重定向的3xx响应里没有携带安全头,Observatory会优先判定重定向响应的头信息,从而给出低分。

解决方案
  • 先用curl模拟工具请求排查:执行命令 curl -I -A "Mozilla Observatory" https://你的域名,对比返回的响应头是否和你浏览器拿到的一致,先确认是不是请求特征导致的问题。
  • 验证CDN/反向代理:临时暂停CDN解析,直接绑定host到源站IP后重新检测,如果评分恢复正常,说明问题出在CDN层,直接在CDN控制台的自定义响应头配置里手动添加所有安全头,或者调整缓存规则要求CDN透传源站响应头即可。
  • 校验Apache配置:检查安全头的配置位置是全局虚拟主机配置还是目录.htaccess,确保规则没有被后续加载的配置覆盖。可执行apache2ctl -S(Debian/Ubuntu系统)或httpd -S(CentOS/RHEL系统)查看虚拟主机加载优先级,确认配置生效。
  • 补全重定向链头:执行命令 curl -I -L http://你的域名 检查整个重定向链路的每一步响应头,若重定向的3xx响应没有安全头,修改Apache配置把安全头规则应用到所有响应,而非仅200状态的响应。
  • 安全规则加白:查看服务器安全插件、WAF的拦截日志,把Mozilla Observatory的官方IP段、UA标识加入白名单,避免检测请求被拦截。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 17:09:02