До последних дней у нас была следующая архитектура: HAProxy -> 2 Backend сервера.
Теперь у нас есть: HAProxy -> Varnish -> 2 Backend сервера.
Раньше HAProxy каждый раз правильно устанавливал заголовок «X-FORWARDED-FOR». Однако теперь он устанавливает только заголовок иногда.
По иногда Я имею в виду: я делаю запрос к сценарию PHP, который печатает содержимое $ _SERVER (содержит заголовок в обсуждении).
Независимо от того, сколько раз я делаю запрос, HAProxy не устанавливает заголовок. Если, однако, я делаю запрос к своему сценарию, а затем быстро (до завершения запроса) нажимаю кнопку «Обновить» (так что в основном я делаю 2 одновременных запроса), заголовок устанавливается.
Кто-то наткнулся на эту очень странную проблему и может указать мне правильное направление?
Примечание: нанесение лака перед HAProxy - не вариант.
Скорее всего, вы забыли использовать опцию http-server-close в вашей конфигурации haproxy. Раньше это было нормально, потому что ваши внутренние серверы не включали поддержку активности по умолчанию.