是否可以在traefik中覆盖“服务器名称”响应标头?

时间:2019-04-17 20:28:19

标签: nginx traefik response-headers

我正在使用Traefik(版本1.7.10)设置一个新服务器,以对不同的NGINX和PHP-FPM容器进行负载平衡。

当前,访问者在响应标头中看到我的容器正在使用NGINX。对于所有容器,我在哪里可以全局地将服务器响应标头覆盖为其他内容(例如“ FunnyServer”)?

过去我使用HAProxy做到了,想知道如何使用Traefik做到这一点?

在这里您看到来自HAProxy的响应:

cache-control: no-store, no-cache, must-revalidate, post-check=0, 
pre-check=0
content-type: text/html; charset=utf-8
date: Wed, 17 Apr 2019 20:20:15 GMT
expires: Thu, 19 Nov 1981 08:52:00 GMT
pragma: no-cache
server: MonkeysBananaServer    <===== WITH HAPROXY!!! Traefik??? 
set-cookie: PHPSESSID=1234567890abcdef; path=/; domain=.xxx.xx
status: 200
x-powered-by: PHP/x.x.x

如您所见,在HAProxy下,我已将响应标头设置为“ MonkeysBananaServer”。

2 个答案:

答案 0 :(得分:1)

您可以覆盖响应标题:

traefik.frontend.headers.customResponseHeaders=server:FunnyServer

https://docs.traefik.io/configuration/backends/docker/#custom-headers

答案 1 :(得分:0)

对于使用2.0版并有相同问题的用户:

- "traefik.http.middlewares.secure-headers.headers.customresponseheaders.x-powered-by=SomeThing/9.7.2"
- "traefik.http.routers.custom_router_name.middlewares=secure-headers"