Я пытаюсь настроить haproxy в качестве обратного прокси для нескольких веб-серверов в моей локальной сети, чтобы они были доступны из доменного имени, указывающего на маршрутизатор. Порт 80 перенаправляется на машину haproxy. Haproxy работает в тюрьме FreeBSD 11.4 внутри машины FreeNAS. Будучи новичком в haproxy и поигравшись с множеством различных настроек в /usr/local/etc/haproxy.conf
, Я собрал этот чрезвычайно простой пример, который уже не работает. Вот мой haproxy.conf
:
global
maxconn 2048
tune.ssl.default-dh-param 2048
log stdout local0 debug
user haproxy
group haproxy
defaults
mode http
timeout connect 5000
timeout client 50000
timeout server 50000
frontend public-web-in
bind :80
use_backend test
backend test
description A simple test server
server test 192.168.178.37:80 check
Насколько я понимаю, это должно прослушивать HTTP-запросы, отправленные на порт 80, и перенаправлять их на внутренний сервер. test
, но когда я пытаюсь получить доступ через общедоступный домен или локальный IP-адрес машины haproxy, я получаю 400 Bad Request ERR_INVALID_REQ
.
Я проверил, что с самим тестовым сервером проблем нет, с прямым обращением он работает нормально, нет правил брандмауэра, которые блокировали бы порт 80 на машине haproxy. Как ни странно, если я наберу service haproxy start
, нет вывода, но также нет завершения команды:
root@HAProxy:~ # service haproxy start
Starting haproxy.
Запуск haproxy в режиме отладки больше ничего не показывает и имеет ту же проблему:
root@HAProxy:~ # haproxy -db -f /usr/local/etc/haproxy.conf
Что-то не так с моей установкой haproxy?