Как мне включить HTTPS для моего Java-приложения Elastic Beanstalk?

#amazon-web-services #https #amazon-elastic-beanstalk

#amazon-web-services #https #amazon-elastic-beanstalk

Вопрос:

Мой экземпляр — это единственный экземпляр, без балансировщика нагрузки.

Кажется, я не могу добавить балансировщик нагрузки к моему существующему экземпляру приложения.

Другие рекомендации, касающиеся Elastic Load Balancer, устарели — похоже, в AWS такой службы нет.

Мне не нужно кэширование или пограничная доставка — мое приложение полностью состоит из транзакционных API, поэтому, вероятно, не нуждается в CloudFront.

У меня есть доменное имя и сервер имен (внешний по отношению к AWS). У меня есть сертификат (сгенерированный в диспетчере сертификатов).

Как мне включить HTTPS для моего Java-приложения Elastic Beanstalk?

Комментарии:

1. «Кажется, я не могу добавить балансировщик нагрузки к моему существующему экземпляру приложения». — можете ли вы объяснить, что вы имеете в виду? При попытке возникли ошибки?

Ответ №1:

CloudFront — это самый простой и дешевый способ добавить завершение SSL, потому что AWS обработает все это за вас благодаря интеграции с certificate manager.

Если вы добавите ELB, вам придется запускать его 24/7, и это удвоит стоимость сервера одного экземпляра.

Если вы хотите поддерживать завершение SSL на самом сервере, вам придется сделать это самостоятельно (используя ваш веб-контейнер, такой как apache, nginx, tomcat или что-то еще, что вы используете). Его непросто настроить.

Даже если вам не нужно кэширование, CloudFront будет полезен только для обработки вашего сертификата (что так же просто, как выбрать сертификат из выпадающего списка).

Ответ №2:

В итоге я использовал CloudFront.

Это создало проблему, из-за которой файлы cookie не передавались.

Я создал пользовательскую политику кэширования, разрешающую использование файлов cookie, и при этом я также изменил TTL кэширования на очень низкий. Это послужило моим целям.