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

Вставить заголовок в функцию перенаправления HAProxy

У меня HAProxy 1.5.8.

У меня есть базовое правило 301:

frontend http_frontend
  bind *:80
  mode http
  redirect location https://xxxx.com code 301

Ответ выглядит так:

HTTP/1.1 301 Moved Permanently
Content-length: 0
Location: https://xxxx.com
Connection: close

Мне нужно добавить дату в заголовок, как это сделал бы обычный веб-сервер.

респадд функция не влияет на перенаправление.

Является ли это возможным ?

Это возможно, Вилли из HaProxy нашел решение здесь:

https://www.mail-archive.com/haproxy@formilux.org/msg25061.html

http-request redirect location "https://blah..\r\nDate: xyz"

Проблема, которую я хотел решить, заключалась в том, чтобы добавить заголовок HSTS, но я думаю, вы могли бы использовать его для свидания.

Это некрасиво, но работает, и я только что реализовал это, для нас мы также хотели отобразить заголовок, идентифицирующий блок, который генерировал перенаправление, поскольку у нас есть несколько блоков HaProxy.

Это было проверено мной в HaProxy 1.6, за другие версии не ручаюсь.

Это невозможно ни в одном браузере, который когда-либо видел перенаправление. Кэшируется на неопределенный срок. Редирект 301 следует использовать только тогда, когда вы закрываете сайт навсегда, и даже в этом случае это плохая идея - вы теряете видимость трафика, все еще попадающего на старый сайт.

Поэтому измените его на 302 редирект, прежде чем делать что-либо еще.

Haproxy не является веб-сервером. У него нет средств для создания заголовка, содержащего динамические данные - если вам действительно нужен заголовок даты, используйте веб-сервер. Есть несколько легких, способных справиться с этой задачей.

Или скажите нам, почему вы необходимость такой заголовок, и мы могли бы посоветовать более подходящее решение.