Терминал 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.
Другие вопросы по тегам