У меня nginx работает как обратный прокси для ряда серверов Apache. Каждый сервер apache находится в собственном виртуальном контейнере, чтобы отделить вещи друг от друга (следовательно, обратный прокси-сервер nginx не выполняет балансировку нагрузки, он просто перенаправляет запросы в соответствующие контейнеры: сайт A переходит к 192.168.2.1, сайт B переходит к 192.168.2.2 и т. Д.).
Как лучше всего использовать SSL здесь? Судя по тому, что я могу найти в Google, типичный способ - расшифровать трафик SSL на обратном прокси-сервере, а затем перенаправить трафик как обычный HTTP на серверы за прокси. Я не слишком увлечен этим, так как это означало бы установку сертификатов на прокси-сервере, а не на серверах за ним - и я хотел бы, если возможно, сохранить сертификаты с контейнерами, к которым они относятся. Однако трафик HTTPS явно зашифрован, так что есть ли вообще возможность его проксировать? Я предполагаю, что нет, так как я не встречал много «Как сделать» по этому поводу, но решил, что спрошу коллективный разум.
Будем очень признательны за любые указатели :)
Прокси-сервер HTTPS-запроса будет MITM атаковать, поэтому мы этого не делаем :)
Лучше всего, чтобы SSL завершался на прокси-сервере, а трафик между прокси-сервером и серверной частью происходил через незашифрованный HTTP (или, по крайней мере, с другим набором сертификатов / туннелем SSL).
Просто убедитесь, что на прокси-серверах есть хорошая безопасность, чтобы сертификаты были в безопасности, а также на соединении бэкэнд-прокси (возможно, поместите прокси в DMZ, а бэкэнды внутри межсетевых экранов).