В настоящее время я настроил свой веб-сайт в AWS ECS с архитектурой обратного прокси nginx с Docker. Однако прямо сейчас я столкнулся с проблемой защиты моего сайта с помощью HTTPS.
Я часами гуглил, выпустил диспетчер сертификатов Amazon, настроил балансировщик нагрузки приложений с помощью службы моего кластера, но безрезультатно. Мой nginx.conf прослушивает порт 80, в то время как мои внутренние службы также размещаются на порту 80. Cloudflare направляет мой веб-сайт на каждую службу с * .domain.com.
Итак, какой именно шаг мне может не хватать, или есть ли там подходящее руководство, на которое я могу ссылаться? Я надеюсь получить его с помощью Amazon Certificate Manager, лучше всего с автоматическим продлением. Второй вариант - это сертификат, подписанный вручную letsencrypt. Но я понятия не имею, как я могу сохранить сертификат, потому что мой репозиторий сейчас общедоступен.
В настоящее время у меня есть 2 адреса. domain.com и api.domain.com, которые работают на одном экземпляре ECS. Можно ли защитить их обоих, поскольку это было бы необходимо для этого, чтобы я мог выполнять внутренние вызовы из моего внешнего интерфейса (политика запросов HTTPS).
Заранее спасибо, ребята!
Обновить:
Я наконец-то получил SSL для работы с моим доменом. Для тех, кто сталкивается с такой же проблемой. Попробуйте вместо этого использовать классический балансировщик нагрузки, я несколько раз пробовал использовать Application Load Balancer и сопоставление с разными портами, но это не работает. Но это работает в тот момент, когда я использовал Classical Load Balancer.
1 ответ
Cloudflare должен направлять все в ALB, а не напрямую в ECS. Вы должны направить весь трафик через ALB, чтобы ALB обслуживал сертификат SSL.
Когда вы запрашиваете сертификат в ACM, вы можете указать несколько доменов, для которых вы хотите, чтобы сертификат работал. Самый простой способ заставить сертификат работать для вашего домена и всех возможных субдоменов - запросить сертификат для «domain.com» и «* .domain.com».
Похожие вопросы
Новые вопросы
amazon-web-services
Amazon Web Services (AWS) - это общедоступное облако: IaaS (инфраструктура как услуга) и SaaS (программное обеспечение как услуга), предоставляемые Amazon. Вопросы по программированию и архитектуре находятся по теме. Общую справку по серверу можно получить по адресу https://serverfault.com. Тег AWS редко используется отдельно и обычно используется вместе с другими тегами, чтобы более четко определить тему вопроса.