У меня есть 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
Я должен добавить, что дата в заголовке, как обычный веб-сервер сделала бы.
функция respadd не делает, кажется, влияет на перенаправление.
Действительно ли это возможно?
Это невозможно для любого браузера, который когда-либо видел перенаправление. Кэшируется на неопределенный срок. Редирект 301 следует использовать только тогда, когда вы закрываете сайт навсегда, и даже в этом случае это плохая идея - вы теряете видимость трафика, все еще попадающего на старый сайт.
Так что измените его на перенаправление 302, прежде чем делать что-либо еще .
Haproxy не является веб-сервером. У него нет средств для создания заголовка, содержащего динамические данные - если вам действительно нужен заголовок даты, используйте веб-сервер. Есть несколько легких, способных выполнить эту задачу.
В качестве альтернативы расскажите нам, почему вам нужен такой заголовок, и мы сможем посоветовать более подходящее решение.
Это возможно. Вилли из HaProxy определил, что решение (скрытой) проблемы, которую я хотел решить, заключалось в добавлении заголовка HSTS, но я думаю, вы могли бы использовать его для свидания.
Это некрасиво, но работает, и я только что реализовал это, для нас мы также хотели отобразить заголовок, идентифицирующий блок, который генерировал перенаправление, поскольку у нас есть несколько блоков HaProxy.
Это было протестировано мной в HaProxy 1.6, за другие версии не ручаюсь.