Назад | Перейти на главную страницу

Добавить заголовок запроса haproxy X-Forwarded-Host

У меня есть экземпляр Haproxy, который переписывает Host заголовки во внутренние, используя http-request set-header.

http-request set-header Host internal.example

Однако я бы по-прежнему хотел, чтобы серверные ВМ имели доступ к исходному Host заголовок. думаю X-Forwarded-Host является хорошим кандидатом для этого, однако я изо всех сил пытаюсь понять, как это сделать.

Я использую это, что работает:

capture request header Host len 64
http-request set-header X-Forwarded-Host %hrl

Но, конечно, это гигантский взлом - не будет работать с более чем 64 символами и не будет работать, если мне когда-нибудь понадобится захватить другой заголовок.

Есть ли способ лучше?

Как отметил Джоэл Э Салас в комментарии, изменение Host Заголовок - это немного странная вещь, но я полагаю, если бэкенды понимают только определенные значения, это может иметь смысл.

В любом случае вы можете просто использовать req.hdr получить образец как переменную для http-request, таким образом:

http-request set-header X-Forwarded-Host %[req.hdr(Host)]

Вам нужно будет запустить это, прежде чем запускать http-request set-header это переписывает Host заголовок, но он должен работать.