Вопрос по amazon-route53, https, amazon-web-services, forwarding – Как переслать http-запрос на https в Amazon Route53?

20

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

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

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

Ваш Ответ

2   ответа
7

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

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

Это правильный ответ и должен быть помечен как таковой. Высочайшие оценки!
Эй, обратный вызов, который звучит как проблема с правами доступа в вашем S3-контейнере. Вы выбрали веб-хостинг при настройке и предоставили публичный доступ ко всем объектам?
Я попробовал это, но затем я продолжаю получать отказ в доступе в запросах http (403). Мне пришлось только потому, что у меня есть одностраничное приложение, я мог создать собственный ответ об ошибке на вкладке «Страницы ошибок» в дистрибутиве, чтобы перенаправить 403 в /index.html со статусом 200 OK.
15

Нет, способа сделать это нет - потому что это не функция 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]

Похожие вопросы