Терминал SSL для AWS EC2? ELB или NginX или..?
У меня есть несколько автономных веб-приложений Java, которые в настоящее время работают на разных портах и URL-адресах. Я хотел бы показать все эти приложения за одним портом (443) и сопоставить различные публичные URL-адреса с отдельным внутренним URL-адресом / портом. Я думаю, что клиенты обращаются к Nginx в качестве обратного прокси.
Мне также нужно, чтобы эти приложения были доступны только через SSL и планировали все в AWS VPC с окончанием SSL на AWS ELB, прежде чем переходить на обратный прокси-сервер.
Это похоже на довольно стандартный стек. Есть ли причина не делать этого? Любая причина, по которой я должен прекратить SSL на обратном прокси (Nginx или другой) вместо AWS ELB?
Спасибо
1 ответ
В некоторых настройках есть аспекты безопасности, которые следует учитывать при принятии решения о том, где прекратить SSL:
- Какому узлу вы хотите доверять свой сертификат?
- Сколько будет происходить коммуникация за точкой завершения SSL и, таким образом, останется незащищенным?
Вы также должны рассмотреть технические аспекты о том, что возможно, а что нет:
- Балансировщик нагрузки, который не завершает SSL, не может вставлять заголовки X-Forwarded-For. Таким образом, бэкэнд не будет знать IP-адрес клиента, если вы не используете балансировку нагрузки на основе DSR.
- Интерфейс, который не завершает SSL, не может отправлять в разные бэкэнды в зависимости от имени домена, если клиент не поддерживает SNI.