Вы увидите много места в Интернете рассказывается, как настроить SSL с помощью AWS ELB - это настроить сертификат на балансировщике нагрузки, а затем перенаправить трафик с порта 443 на 80, чтобы трафик между балансировщиком нагрузки и nginx не был зашифрован. Мне это кажется не очень безопасным, поскольку у вас есть незашифрованные данные, передаваемые через сетевое соединение. Что, если эти данные являются информацией о кредитной карте?
Мои вопросы:
Представляет ли наличие незашифрованного соединения между балансировщиком нагрузки и nginx угрозу безопасности?
Если ответ на 1 - да, как мне настроить nginx, чтобы разрешить безопасные соединения от балансировщика нагрузки? Будет ли это включать в себя настройку сертификата SSL на каждом сервере nginx?
nginx
config является / будет довольно стандартным, ничего особенного.nginx
. Для этого вы можете использовать один сертификат, вам не обязательно несколько. Кроме того: Использование Позволяет зашифровать Получение сертификатов теперь довольно просто и автоматизировано, бесплатно.Как будет выглядеть конфигурация nginx, если она должна отличаться от стандартной настройки ssl, где nginx не находится за балансировщиком нагрузки?
Насколько я знаю, большой разницы нет. Если вам по какой-либо причине нужен IP-адрес клиента, поместите эти строки в свой nginx
config:
real_ip_header X-Forwarded-For;
set_real_ip_from ${ip-of-your-elb}/${netmask-of-your-elb};