Проверка работоспособности SSL HAProxy положительная, но время ожидания - PullRequest
1 голос
/ 16 апреля 2020

Я уже некоторое время успешно использую HAProxy без проверок состояния.

Я пытаюсь добавить их в смесь.

Вот что у меня есть:

server server1 x.x.x.x:80 cookie server1 check ssl verify none port 81
server server2 y.y.y.y:80 cookie server2 check ssl verify none port 81

Это прекрасно работает, HAProxy обнаруживает оба сервера как в сети, когда они в сети, так и в автономном режиме, когда они в автономном режиме. Они работают на порту 81 (пример), но законные запросы должны поступать на порт 80, чтобы перенаправить их на правильный порт в зависимости от домена. Следовательно, я отправляю HAProxy напрямую на правильные внутренние порты, отправляя входящий трафик c на порт 80.

Теперь, когда я пытаюсь подключиться к своему сайту, я получаю тайм-аут ИЛИ «серверы недоступны», но в основном тайм-ауты. Я НЕ получаю это, когда отключаю проверки работоспособности. Оба сервера подключены к сети и доступны напрямую, а также через HAProxy с отключенной проверкой работоспособности.

Если у меня есть два сервера: один с включенными проверками работоспособности, а другой без проверок работоспособности, я все равно смогу получить доступ к один без проверок здоровья. Сервер с проверками работоспособности, если он выбран случайным образом для маршрутизации, будет работать так, как описано выше.

Я не знаю, где с этим go, я не могу найти информацию об этой топи c. Я попытался переставить термины так, чтобы это было «проверить порт 81, но не проверить ни один», но безрезультатно.

Мне интересно, пытается ли он направить меня к порту 81, но он должен использовать только порт 81 для проверки работоспособности и отправки пользователя на порт 80. Как я понимаю, это работает.

Вот что я получаю в журналах при прохождении через HAProxy с включенными проверками работоспособности на обоих серверах:

<all request headers as you'd see in a successful request>
00000000:nodes:clicls[0009:000a]
00000000:nodes.closed[0009:000a]

ОБНОВЛЕНИЕ: Я просмотрел журналы на одном из внутренних серверов. Хотя в файлах журналов виртуального хоста ничего нет, журнал хоста по умолчанию получает записи при попытке доступа к сайту через HAProxy. Поэтому, когда у меня включены проверки состояния, это больше не отправляет меня в правильное местоположение. Когда я удаляю проверки работоспособности, все хорошо ... и причина тайм-аута в том, что он отправляет рукопожатие TLS, а виртуальный хост по умолчанию не знает, что с этим делать. Не решил проблему, но прогресс.

...