Мне не удалось заставить прокси работать на одном из наших сайтов (IIS7). Я получаю сообщение «нет маршрута к хосту» из журналов haproxy.
Server test_be/10.100.1.1:81 is DOWN, reason:
Layer4 connection problem, info: "No route to host",
check duration: 1000ms. 0 active and 0 backup servers left.
0 sessions active, 0 requeued, 0 remaining in queue.
backend test_be has no server available!
Вот что я нашел на данный момент:
Конфигурация внешнего / внутреннего интерфейса haproxy (не работает):
frontend test
bind 10.100.2.2:80
mode http
option httplog
default_backend test_be
backend test_be
option httpchk
balance source
server s1 10.100.1.1:81 check port 81
Альтернативная конфигурация haproxy (которая работает):
listen test_direct
bind 10.100.2.2:80
mode tcp
option tcplog
balance source
server s1 10.100.1.1:81
Не могли бы вы помочь мне понять, почему настройка внешнего / внутреннего интерфейса не работает? Я хочу использовать его, потому что хочу установить дополнительные правила на основе входящих запросов. Возможно, это связано с тем, что проверки работоспособности не выполняются? (На самом деле я не знаю, как это происходит.)
Я здесь секу волосы.
Haproxy запрашивает действительный возврат с сервера IIS (http 200/300), в вашем случае я предполагаю, что он возвращает 404, поскольку индексная страница по умолчанию не существует. Вы также можете добавить URL-адрес, который хотите проверить (/test.html), в строку конфигурации httpchk.