Как перенаправить HTTP-запрос на https в Amazon Route53?
У меня есть субдомен в Amazon Route53. Скажем, secure.example.com
Если запросы приходят как https://secure.example.com
, это нормально, но я хотел бы заставить запросы http
пройти через https. Когда пользователь вводит http://secure.example.com
, он должен быть перенаправлен на https://secure.example.com
.
Есть ли запросы перенаправления/пересылки уровня домена, проходящие через http
до https
в Amazon Route53
?
Ответы
Ответ 1
Нет, сделать это невозможно - потому что это не функция DNS, чтобы форсировать какой-либо конкретный протокол или передавать значения из одного протокола в другой. Вы можете сделать это достаточно легко на уровне веб-сервера, либо в Apache, либо в IIS, либо в NGINX.
В любом из этих случаев значение A или CNAME, указывающее конкретную запись на определенный адрес (будь то IP-адрес или другое имя хоста), одинаково, оно просто собирается подключиться через порт 80 или порт 443.
В Apache вы можете просто использовать перезапись (сначала включите mod_rewrite
):
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://www.host.com/$1 [R]
Ответ 2
Просто быстрое обновление для этого вопроса. Хотя в ответ на ваш вопрос нет, вы не можете использовать маршрут 53 для принудительного HTTPS, это заставило бы некоторых людей поверить, что принудительное https на хостинге AWS было невозможно.
Вы можете создать сертификат SSL в диспетчере сертификатов (или импортировать свой собственный), разместить свой веб-сайт где-либо (S3/EC2), тогда вам нужно настроить дистрибутив CloudFront для своего сайта и импортировать сертификат SSL, затем запустите HTTPS через вкладку поведения в консоли CloudFront.
Ответ 3
Я выполнил это с помощью балансировщика нагрузки приложения (ELB) и перенаправил трафик на порт 443 в разделе редактирования ELB. Конечно, я использую экземпляр ec2 для размещения своего приложения и веб-сайта.
![aws elb edit screenshot]()
Ответ 4
2019 +
Решение @Jamaurice Holt привело меня к пути, но было немного меньше
На консоли перейдите в EC2> Балансировщики нагрузки> ваш балансировщик нагрузки> слушатели
Здесь у вас должно быть 2 правила: HTTP: 80 и HTTPS: 443
Вам просто нужно:
изменить правило HTTP: 80
удалите правило пересылки и добавьте правило перенаправления на порт 443
сохранить и вы должны увидеть что-то вроде:
![enter image description here]()