Как перенаправить http-запрос на https в Amazon Route53?

у меня есть поддомен в Amazon Route53. Скажем ... secure.example.com

если запросы приходят как https://secure.example.com Это нормально, но я хотел бы заставить http запросы приходят через https. Когда пользователь вводит http://secure.example.com его нужно переслать в https://secure.example.com.

есть ли перенаправление/пересылка запросов на уровне домена, проходящих через http to https на Amazon Route53?

2 ответов


нет, это невозможно сделать, потому что это не функция DNS для принудительного выполнения какого-либо конкретного протокола или для передачи значений из одного протокола в другой. Вы можете сделать это достаточно легко на уровне веб-сервера, либо в Apache или IIS, или nginx.

в любом из этих случаев значение A или CNAME, указывающее конкретную запись на определенный адрес (будь то IP или другое имя хоста), одинаково, оно просто будет подключаться через порт 80 или порт 443.

в Apache, вы можете просто используйте перезапись (enable mod_rewrite first):

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://www.host.com/ [R]

просто быстрое обновление для этого вопроса. Хотя в ответ на ваш вопрос нет, вы не можете использовать маршрут 53 для принудительного использования HTTPS, это заставит некоторых людей поверить, что принудительное использование https на хостинге AWS невозможно.

вы можете создать SSL-сертификат в Диспетчере сертификатов(или импортировать свой собственный), разместить свой веб-сайт где-либо (S3 / EC2), затем вам нужно настроить дистрибутив CloudFront для вашего сайта и импортировать SSL-сертификат, затем вы можете принудительно HTTPS через вкладку поведения в Консоль CloudFront онлайн.