Запросить сертификат в ACM для бэкэнда Elastic Beanstalk
Я только начал использовать AWS неделю назад. Я развернул свой сервер NodeJS в контейнере Docker через Elastic Beanstalk. И интерфейсное приложение Angular5 в S3 через CloudFront.
Я купил доменное имя на GoDaddy и настроил его так, чтобы оно указывало на мое приложение CloudFront Angular5. Я также создал сертификат SSL для этого домена (используется для внешнего интерфейса). Однако все запросы из приложения веб-интерфейса блокируются из-за небезопасности бэкэнда.
Итак, как я понимаю, следующим шагом будет настройка HTTPS для бэкэнда ElasticBeanstalk NodeJS.
Я нашел множество статей на эту тему. Но все они предполагают, что у меня уже есть сертификат.
Проблема заключается в том, что когда я пытался запросить сертификат через ACM для URL, который мне предоставляет Elastic Beanstalk (my-website.eu-west-2.elasticbeanstalk.com), запрос был отклонен со следующей ошибкой:
Request failed
The status of this certificate request is "Failed". Additional verification required to request certificates for one or more domain names in this request.
Что я могу сделать в этом случае? И возможно ли даже использовать URL-адреса, предоставляемые aws (например, предоставляемые эластичным beanstalk), для запроса SSL-сертификатов?
Извиняюсь, если моя терминология не очень верна. Я совсем новичок во всем этом.
2 ответа
Вы не можете зарегистрировать SSL-сертификаты для доменов Amazon (amazonaws.com,asticbeanstalk.com и т. Д.)
Если вы хотите использовать HTTPS для своего приложения Elastic Beanstalk (внутреннего или внешнего), вы должны использовать свой собственный домен.
- Зарегистрируйте домен у DNS-регистратора.
- Запросите сертификат SSL через ACM для этого домена.
- Присвойте этот сертификат ACM своему приложению Elastic Beanstalk.
- Укажите свой домен для приложения Elastic Beanstalk, CNAME для внешнего DNS, CNAME или ALIAS для маршрута 53.
- Получите доступ к приложению EB через ваше доменное имя, а не адрес, назначенный эластичным бобом.
Да, как упоминал Мэтт Хаузер, это невозможно. Мне было просто интересно, должен ли я получить другое доменное имя.
То, что я сделал в конце концов, довольно просто. Я использовал route53 для создания другой записи Alias с URL api.my-website.com, который указывает на мой бэкэнд Elastic Beanstalk.
Затем с помощью ACM я выпустил два отдельных SSL-сертификата как для api.my-website.com, так и для (www.) My-website.com, чтобы включить HTTPS как во внешнем интерфейсе, так и во внутреннем интерфейсе, и соответственно подключил их к ElasticBeanstalk и CloudFront. Это оказалось очень просто с услугами, которые предоставляет AWS.
Вот результат: https://my-next-movie.com/
Я просто оставлю это здесь на случай, если кто-то будет так же нов, как и я.