【问题标题】:Cannot remove server in response headers (Amazon AWS)无法删除响应标头中的服务器 (Amazon AWS)
【发布时间】:2012-06-09 08:21:32
【问题描述】:

我无法从响应标头中删除“服务器”标头。我正在使用亚马逊 EC2。我在 Apache 配置中添加了这个:

ServerSignature Off
Header unset Server
RequestHeader unset Server

它什么也不做。我仍然可以在响应标头中看到服务器标头显示“Apache (Amazon)”。有什么线索吗?

【问题讨论】:

  • 除非您使用的不是 EC2(如 ELB),否则您使用 EC2 的事实是无关紧要的。这是一个裸服务器,服务器配置问题-> ServerFault.com。

标签: http-headers amazon-ec2 amazon-web-services apache


【解决方案1】:

您可以删除标题中的“Server: Apache/2.2.22 (Unix) ...”行,如下所示:

下载 Apache httpd 压缩包并以通常的方式解压。

将 include/ap_release.h 更改为:

#define AP_SERVER_BASEVENDOR "Apache Software Foundation"
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"
#define AP_SERVER_BASEPRODUCT "Apache"

#define AP_SERVER_BASEVENDOR "-"
#define AP_SERVER_BASEPROJECT "-"
#define AP_SERVER_BASEPRODUCT "-"

然后用你通常的 configure / make / make install 程序重新编译。

最后,在您的 httpd.conf 文件中,包含以下行:

ServerTokens Prod

重新启动您的服务器,Apache 标题行将简单地变为“服务器:-”。

【讨论】:

    【解决方案2】:

    似乎 Apache 开发团队认为这是按设计工作的。 无论如何,他们提供了一个补丁https://issues.apache.org/bugzilla/show_bug.cgi?id=40026

    【讨论】:

      猜你喜欢
      • 2017-07-11
      • 2010-11-13
      • 2014-11-06
      • 2017-09-17
      • 2016-05-09
      • 1970-01-01
      • 2016-05-23
      • 2014-04-19
      • 2017-01-31
      相关资源
      最近更新 更多