我正在尝试做一些我认为很简单的事情。我只想更改Apache 为每个请求发送的标头。这是我的文件Server
中的那一行:httpd.conf
Header always set Server "My Server name"
但是,标题中返回的内容如下Server
:
Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g
顺便说一句,这就是我正在使用的软件(多么方便)。我确实启用了 mod_headers,并且它适用于我的配置文件中的其他指令。
编辑:我在 Ubuntu Server 8.04 LTS x64 上运行它。
这为什么不起作用?
答案1
答案2
下面只隐藏了操作系统版本和 Apache 服务器版本的信息。
ServerSignature Off
ServerTokens Prod
要完全混淆服务器信息,请添加使用 mod_headers 模块
LoadModule headers_module lib64/httpd/modules/mod_headers.so
位于 httpd.conf 末尾(位于所有其他配置之后)
<IfModule headers_module>
Header set server "anything"
</IfModule>
答案3
那里实际上是一个修复删除“Apache”一词:
sudo apt-get install libapache2-mod-security2
然后将其添加到末尾/etc/apache2/apache.conf
:
<IfModule security2_module>
SecRuleEngine on
ServerTokens Min
SecServerSignature " "
</IfModule>
并重新启动 Apache:
sudo service apache2 restart