我正在运行 Mod_Security,并使用 SecServerSignature 自定义Server
Apache 返回的标头。这部分工作正常,但我还运行 mod_fcgid,它将“mod_fcgid/2.3.5”附加到标头。
有什么办法可以关闭它吗?设置ServerSignature off
不起作用。我可以通过更改来让它消失,ServerTokens
但这会删除我添加的自定义。
答案1
ServerTokens
在配置文件中使用。
服务器令牌
此指令配置您返回的服务器 HTTP 响应标头。默认值为“Full”,它发送有关 OS-Type 和编译模块的信息。
设置为以下之一: Full
| OS
| Minor
| Minimal
| Major
|Prod
传达Full
最多信息,以及Prod
最少信息。
我建议将其设置为Prod
,这样他们就只会看到您正在使用Apache Server at domain.com Port 80
。
不要忘记重新启动/重新加载 Apache 配置文件!
https://httpd.apache.org/docs/2.2/mod/core.html#servertokens
答案2
ServerTokens
是操纵Server
响应头的内容。(ServerSignature
用于服务器生成的文档。)
但是,如果您想完全控制Server
标题,我建议使用以下Header
选项:
Header set Server "Apache/2 my_customizations"
举个例子。
答案3
您可能需要重新排序 Apache 中的模块加载,以便 mod_security 在 mod_fcgi 之后加载。
阅读 mod_security 文档的“服务器身份屏蔽”部分。
http://www.modsecurity.org/documentation/modsecurity-apache/1.9.3/html-multipage/06-special_features.html
两点注意事项:Mod_security 将在 error_log 中显示真实服务器签名,该签名与向公众提供的签名不同。
其次,该文档还解释了 SecServerSignature 指令仅在 ServerTokens 设置为“Full”时才有效
标记