我正在尝试做一些我认为很简单的事情。 我只想更改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启用,并在我的configuration文件中的其他指令工作。
编辑 :我在Ubuntu服务器8.04 LTS x64上运行这个。
为什么这不工作?
这是因为这是一个Apache的政策,不要说谎服务器头,并始终设置它。 你可以做的最好的事情是让它只显示“Apache”:
ServerSignature Off ServerTokens Prod
正如常见问题解答和错误报告中所说的,唯一可以让Apache发送“我的服务器名称”的方法是修改源文件。
还要注意,如果你的服务器没有说你使用的是Apache,那么你就不会获得任何东西, 通过默默无闻的安全性确实不是安全的。 如果你试图隐藏你的操作系统或者你的php或者ssl版本,万一出现了错误,那么它也不是很有用,因为人们往往试图进入他们遇到的每个服务器。