Подтвердить что ты не робот

Баланс нагрузки Nginx с восходящим SSL

Попытка настроить Nginx как балансировку нагрузки для серверов https. Верхний канал обслуживает порт 443 с настроенными сертификатами SSL. Как настроить Nginx, чтобы конфигурация сертификата SSL обрабатывалась только на восходящих серверах, а не на сервере Nginx?

4b9b3361

Ответ 1

Вам необходимо использовать модуль Upstream и модуль Reverse Proxy. Чтобы отменить прокси-сервер для https-upstream, используйте это

proxy_pass  https://backend;

где бэкэнд - это блок uptream.

Однако, если бы я это делал, я бы прекратил работу ssl на сервере nginx и сделал бы серверы приложений upstream делать то, что им нравится: обслуживать контент, а не беспокоиться о чрезмерных нагрузках на шифрование/дешифрование ssl. Настройка ssl-завершения на nginx также очень проста с использованием модуля SSL. Очень хорошее тематическое исследование также приводится здесь.

Ответ 3

Насколько я понял из чтение соответствующей дискуссии на форуме Nginx, это невозможно, потому что Nginx все равно должен прекратить восходящее SSL-соединение. Если вы настаиваете на использовании Nginx, вам остается только выполнить репликацию конфигурации SSL и сделать сертификаты и ключ доступными для Nginx.

В обсуждении, которое я сделал, сделан вывод о том, что HAProxy - намного лучший инструмент для пересылки SSL вверх. Здесь соответствующее сообщение Я нашел о настройке HAProxy для этой цели. Поскольку у меня есть нулевой опыт HAProxy, я не могу суммировать его конфигурацию или общую жизнеспособность решения, оставляя его читателю.

Update

Так как 1.9.2 Nginx поддерживает протокол прокси-протокола HAProxy .