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

Ubuntu16.04下Apache2.4.18无法设置X-Frame-Options求助

解决Apache配置X-Frame-Options DENY不生效的问题

我之前也碰到过一模一样的坑!折腾了好半天才捋清楚几个关键排查点,你可以挨个试试:

  • 确认mod_headers模块是否启用
    Header指令是由mod_headers模块提供的,如果没开启这个模块,再怎么写配置都白搭。执行以下命令启用:

    sudo a2enmod headers
    

    然后重启Apache:

    sudo systemctl restart apache2
    

    可以用这个命令验证模块是否成功加载:

    apache2ctl -M | grep headers
    

    输出里看到headers_module (shared)就说明没问题。

  • 检查配置是否被虚拟主机覆盖
    有时候在apache2.conf里的全局配置会被具体站点的虚拟主机配置覆盖。建议把Header set X-Frame-Options DENY直接放到对应站点的<VirtualHost>块里(通常在/etc/apache2/sites-available/your-site.conf),虚拟主机内的配置优先级更高。

  • 排查冲突的模块或配置
    如果你的服务器上装了mod_security之类的安全模块,它们可能会修改甚至覆盖X-Frame-Options头。可以暂时禁用这类模块(仅测试用),重启后再验证头是否生效。另外,也要检查是否有其他Header指令和这个设置冲突(比如之前设置过X-Frame-Options SAMEORIGIN没删掉)。

  • 用curl验证,别信浏览器缓存
    浏览器经常会缓存旧的响应头,导致你误以为配置没生效。直接用curl命令测试最准确:

    curl -I https://your-domain.com
    

    看返回的响应头里有没有X-Frame-Options: DENY这一行。

  • 验证配置语法正确性
    先检查配置有没有语法错误,避免因为小失误导致配置没加载:

    apache2ctl -t
    

    如果输出Syntax OK就没问题,否则根据提示修复错误。

如果以上步骤都试过还是不行,可以补充下你的Apache版本、虚拟主机配置片段这些信息,方便进一步排查~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:23:50