У мене є така настройка:
(internet) ---> [ pfSense Box ] /-> [ Apache / PHP server ]
[running HAproxy] --+--> [ Apache / PHP server ]
+--> [ Apache / PHP server ]
\-> [ Apache / PHP server ]
Для HTTP-запитів це чудово працює , запити поширюються на мої сервери Apache просто чудово. Для SSL запитів у мене був HAproxy, який розподіляв запити, використовуючи балансування навантаження TCP, і він працював, однак, оскільки HAproxy не діяв як проксі, він не додав X-Forwarded-For
заголовка HTTP, а сервери Apache / PHP не знали клієнта реальна IP-адреса.
Отже, я додав stunnel
перед HAproxy, читаючи, що оглушення може додати X-Forwarded-For
заголовок HTTP. Однак пакет, який я міг би встановити в pfSense, не додає цього заголовка ... також це, очевидно, вбиває мою здатність використовувати запити KeepAlive , які я б дуже хотів зберегти. Але найбільшою проблемою, яка вбила цю ідею, було те, що оглушення перетворило HTTPS-запити в звичайні HTTP-запити, тому PHP не знав, що SSL увімкнено, і намагався перенаправити на SSL-сайт.
Як я можу використовувати HAproxy для завантаження балансу на декілька серверів SSL, дозволяючи цим серверам обидва знати IP-адресу клієнта та знати, що використовується SSL? І якщо можливо, як це зробити на моєму сервері pfSense?
Або я повинен кинути все це і просто використовувати nginx?
X-Forwarded-For
, дивіться тут .