У меня 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 не является веб-сервером. У него нет средств для создания заголовка, содержащего динамические данные - если вам действительно нужен заголовок даты, используйте веб-сервер. Есть несколько легких, способных справиться с этой задачей.
Или скажите нам, почему вы необходимость такой заголовок, и мы могли бы посоветовать более подходящее решение.