【发布时间】:2018-07-11 23:48:05
【问题描述】:
我在 NgINX 服务器上有这个配置,我需要在另一个运行 Apache 的 Web 服务器上有相同的规则。
NgINX
if ($http_referer !~ "^https?:\/\/.*\.sitea\.com.*|https?:\/\/.*?\.siteb\.com.*|https?:\/\/sub\.sitea\.com.*|?$") {
add_header X-Frame-Options "DENY";
}
我尝试使用以下代码,但收到内部服务器错误
阿帕奇
<IfModule mod_headers.c>
<If "%{HTTP_REFERER} !~ m#^https?:\/\/.*\.sitea\.com.*$#">
Header append X-Frame-Options "DENY"
</If>
</IfModule>
有人能帮忙找到正确的方法吗?
【问题讨论】:
-
什么版本的 Apache?
-
另外,error_log 里有什么东西吗?
-
@MrWhite 任何请求的标头仅显示“Apache”,没有任何版本号
-
@DusanBajic 我无权访问文件日志,
-
听起来您的主机设置了更严格的
ServerTokens设置(通过默默无闻实现安全)。无论如何,检查服务器版本的原因正如@revo 指出的那样,Apache 表达式(如上所用)是 Apache 2.4+ 的新功能。服务器的错误日志也会包含此错误的详细信息。
标签: regex apache .htaccess nginx