![Apache:“标头设置服务器”不起作用](https://linux22.com/image/506195/Apache%EF%BC%9A%E2%80%9C%E6%A0%87%E5%A4%B4%E8%AE%BE%E7%BD%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E2%80%9D%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在尝试做一些我认为很简单的事情。我只想更改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