Хорошо, это может быть вопрос новичка, но вот мой сценарий.
Чего мне хотелось бы достичь: 1. Полное соединение только HTTPS с моим приложением на EC2, которое в настоящее время привязано к 8080.
Как правильно этого добиться? 1. Должен ли я просто загрузить сертификат SSL в балансировщик нагрузки и принудительно установить SSL-соединение только между клиентом и балансировщиком нагрузки? Должен ли я позволить группе безопасности защищать трафик между балансировщиком нагрузки и EC2?
ИЛИ--
ИЛИ--
Есть что-то, чего мне не хватает? Спасибо,
Самая простая конфигурация для ваших нужд может быть такой:
Это перенесет шифрование с вашего экземпляра EC2 на ELB.
Дополнительно:
Таким образом, если ваш клиент подключается по протоколу HTTP, он автоматически перенаправляется на HTTPS.
Обычно ваш балансировщик нагрузки будет обрабатывать согласование https-соединений с вашими клиентами, а затем он будет подключаться обратно к исходному серверу (-ам) tomcat, чтобы получить контент по обычному http (поскольку для этого короткого перехода не требуется слишком много шифрования, и, вероятно, вы можно доверять локальной сети). Вы должны настроить балансировщик нагрузки на перенаправление любых HTTP-запросов, которые он получает, на https, и вам нужно будет только настроить https-сертификат на балансировщике нагрузки. Для серверной части tomcat вам необходимо убедиться, что все ссылки являются относительными, или указать клиенту перейти на https.
Я не уверен на 100%, что это именно то, что вам нужно, поэтому дайте мне знать, если вы хотите узнать что-то другое.
Я думаю, что принятый ответ неверен. Загрузка вашего SSL-сертификата в балансировщик нагрузки и запрос канала HTTPS заставит балансировщик нагрузки расшифровать трафик SSL и передать его в расшифрованном виде за балансировщиком нагрузки. (OP запросил SSL для приложения).
В соответствии с документы ELB
«Если вы не хотите, чтобы балансировщик нагрузки обрабатывал завершение SSL (известное как разгрузка SSL), вы можете использовать TCP как для внешних, так и для внутренних подключений, а также развернуть сертификаты на зарегистрированных экземплярах, обрабатывающих запросы».
Итак, правильнее всего было бы перенаправить TCP: 443 (в балансировщике нагрузки) -> TCP: 443 (в экземпляре или какой-либо другой порт).
Если вы хотите сквозное шифрование, вы должны затем установить ключи SSL на сервере приложений.
Это также будет означать, что ELB не может возиться с вашими заголовками HTTPS - что, я думаю, необходимо для липких соединений. Для серверов приложений без сохранения состояния это не проблема.