如何在 ReverseProxied 网站上“覆盖”服务器响应标头?

如何在 ReverseProxied 网站上“覆盖”服务器响应标头?

我在本地网络的不同服务器上运行了几个网站。所有网站都通过一个服务器进行代理,该服务器添加了 HTTPS 并监控流量。

目前,如果有人做出以下行为:

curl -I subdomain.domain.tld

结果是:

curl -I https://subdomain.domain.tld
HTTP/1.1 200 OK
Date: Fri, 13 Jan 2017 09:19:02 GMT
Server: Jetty(8.y.z-SNAPSHOT)
Content-Type: text/html
Content-Length: 2379
Last-Modified: Tue, 10 Jan 2017 11:15:29 GMT

我如何使用来自 ReverseProxy 的另一个响应来“覆盖”代理服务器给出的响应?

例如,我希望我的输出看起来像这样(如果可能的话)

curl -I https://dubdomain.domain.tld
HTTP/1.1 200 OK
Date: Fri, 13 Jan 2017 09:19:02 GMT
Server: Apache24 (or even something else)
Content-Type: text/html
Content-Length: 2379
Last-Modified: Tue, 10 Jan 2017 11:15:29 GMT

这能实现吗?

答案1

您无法删除 Apache 中的服务器标头,但在您的情况下,您可以通过添加以下内容来显示反向代理的服务器令牌:

Header unset Server

这将删除“后端”返回的服务器标头,并显示来自反向代理的服务器标头。

如果您碰巧想从反向代理的响应中删除或更改此标头,您将必须使用 mod_security,或者至少这是我所知道的唯一方法。

相关内容