Можно ли перезаписать заголовок ответа «имя сервера» в traefik?

#nginx #traefik #response-headers

#nginx #traefik #заголовки ответов

Вопрос:

Я настраиваю новый сервер с 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».

Ответ №1:

Для тех, кто использует версию 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"
  

Комментарии:

1. Где вы устанавливаете эту метку?

2. @AzriZakaria в docker-compose.yml для контейнера Nginx (например)

3. Я добавляю в свое веб-приложение внутри docker-compose, но оно не работает. Вот моя метка - "traefik.http.middlewares.secure-headers.headers.customresponseheaders.server=MyServer"

4. @AzriZakaria вам необходимо применить это промежуточное программное обеспечение к вашему маршрутизатору с - "traefik.http.routers.custom_router_name.middlewares=secure-headers" указанием custom_router_name имени вашего маршрутизатора.

Ответ №2:

Вы можете переопределить заголовки ответов:

 traefik.frontend.headers.customResponseHeaders=server:FunnyServer
  

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