Как включить HTTPS в Amazon EC2? Наш сайт работает по протоколу HTTP.
Как включить HTTPS в Amazon EC2? Наш сайт работает по протоколу HTTP.
Ответы:
Во-первых, вам нужно открыть порт HTTPS (443). Для этого перейдите на https://console.aws.amazon.com/ec2/ и щелкните Security Groups
ссылку слева, затем создайте новую группу безопасности с доступным также HTTPS. Затем просто обновите группу безопасности работающего экземпляра или создайте новый экземпляр, используя эту группу.
После этих шагов ваша работа с EC2 будет завершена, и все это проблема приложения.
you can't change a security group of a running instance, even rebooting
- Думаю, это ограничение было снято с момента публикации этого ответа.
Edit inbound rules
Этот ответ ориентирован на тех, кто покупает домен на другом сайте (как GoDaddy) и хочет использовать бесплатный сертификат Amazon с диспетчером сертификатов.
В этом ответе используется Amazon Classic Load Balancer (платный), см. Цены перед его использованием
Шаг 1. Запросите сертификат с помощью диспетчера сертификатов
Перейдите в Диспетчер сертификатов> Запросить сертификат> Запросить общедоступный сертификат.
По имени домена вы будете добавлять myprojectdomainname.com
и *.myprojectdomainname.com
и дальше Далее
Выберите подтверждение электронной почты и подтвердите и запросите
Откройте полученное электронное письмо (в учетной записи электронной почты, в которой вы купили домен) и подтвердите запрос.
После этого проверьте, находится ли статус валидации myprojectdomainname.com
и *.myprojectdomainname.com
успешно, если успешно, вы можете перейти к шагу 2.
Шаг 2 - Создайте группу безопасности для балансировщика нагрузки
На EC2 перейдите в «Группы безопасности»>, «Создайте группу безопасности» и добавьте входящие http и https.
Шаг 3 - Создайте балансировщик нагрузки
EC2> Балансировщик нагрузки> Создать балансировщик нагрузки> Классический балансировщик нагрузки (третий вариант)
Создайте LB внутри - vpc вашего проекта On Load Balancer Protocol добавьте Http и Https
Далее> Выбрать выход из группы безопасности
Выберите группу безопасности, которую вы создали на предыдущем шаге.
Далее> Выбрать сертификат из ACM
Выберите сертификат шага 1
Далее>
при проверке работоспособности я использовал путь ping / (одна косая черта вместо /index.html)
Шаг 4. Свяжите свой экземпляр с группой безопасности балансировщика нагрузки
EC2> Экземпляры> щелкните свой проект> Действия> Сеть> Изменить группы безопасности
Добавьте группу безопасности вашего балансировщика нагрузки
Шаг 5
EC2> Балансировщик нагрузки> Щелкните созданный вами балансировщик нагрузки> скопируйте DNS-имя (запись A), это будет что-то вроде myproject-2021611191.us-east-1.elb.amazonaws.com
Перейдите в Route 53> Routes Zones> щелкните имя домена> Перейти к Records Sets (если у вас нет здесь своего домена, создайте зону хостинга с помощью Domain Name: myprojectdomainname.com
и Type: Public Hosted Zone
)
Проверьте, есть ли у вас тип записи A (возможно, нет), создайте / отредактируйте набор записей с пустым именем, введите A, псевдоним Да и выберите DNS, который вы скопировали
Создайте также новый набор записей типа A , имя *.myprojectdomainname.com
, псевдоним «Да» и настройте таргетинг на свой домен (myprojectdomainname.com). Это позволит получить доступ к вашему сайту с www.myprojectdomainname.com и subsite.myprojectdomainname.com. Примечание. Для этого вам необходимо настроить обратный прокси-сервер (Nginx / Apache).
На NS скопируйте значения 4 серверов имен для использования на следующем шаге, это будет примерно так:
ns-362.awsdns-45.com
ns-1558.awsdns-02.co.uk
ns-737.awsdns-28.net
ns-1522.awsdns-62.org
Перейдите в EC2> Instances> И скопируйте также общедоступный IP-адрес IPv4.
Шаг 6
На сайте регистрации домена, на котором вы купили домен (в моем случае GoDaddy)
Измените маршрутизацию на http : <Your IPv4 Public IP Number>
и выберите Вперед с маскированием.
Измените DNS-серверы (NS) на 4 NS, которые вы скопировали, это может занять 48 часов.
Инстансы Amazon EC2 - это просто виртуальные машины, поэтому вы должны настроить SSL так же, как и на любом сервере.
Вы не упоминаете, на какой платформе находитесь, поэтому вам сложно предоставить дополнительную информацию.
Старый вопрос, но стоит упомянуть еще один вариант в ответах. Если система DNS вашего домена определена в Amazon Route 53, вы можете использовать сервис Amazon CloudFront перед своим EC2 и прикрепить к нему бесплатный SSL-сертификат Amazon. Таким образом, вы выиграете как от наличия CDN для более быстрой доставки контента, так и от защиты своего домена с помощью протокола HTTPS.
Также должен быть ответ для людей, которым нужен бесплатный https на ec2, в основном для демонстрационных и тестовых целей, один из способов добиться этого очень быстро:
С моим ответом здесь, который описывает, как вы можете достичь https для целей тестирования за считанные минуты с EC2 без хлопот с созданием сертификатов.
Используйте эластичную балансировку нагрузки , она поддерживает завершение SSL на балансировщике нагрузки, включая разгрузку расшифровки SSL из экземпляров приложений и обеспечивает централизованное управление сертификатами SSL.
Вы также можете использовать Amazon API Gateway . Разместите свое приложение за API Gateway. Пожалуйста, проверьте этот FAQ
Один из лучших ресурсов, который я нашел, - это использование Let's encrypt, вам не нужны ни ELB, ни облачный интерфейс для вашего экземпляра EC2, чтобы иметь HTTPS, просто следуйте следующим простым инструкциям: давайте зашифруем вход на ваш сервер и следуйте инструкциям по ссылке.
Также важно, как упоминалось другими, что у вас есть порт 443, открытый путем редактирования групп безопасности.
Вы можете просмотреть свой сертификат или любой другой веб-сайт, изменив имя сайта в этой ссылке.
Не забывайте, что он действителен только 90 дней.