2017-01-18 2 views
3

У меня есть домен (example.com) с поддержкой SSL. У меня возникает проблема при попытке перенаправить запрос от www.example.com ->https://example.com.Как перенаправить HTTP на HTTPS с использованием S3, Cloudfront и Route 53 с использованием голых доменов?

Я получаю ошибку при попытке получить доступ к www.example.com является:

Запрос не может быть удовлетворено.

Плохой запрос.

Эти адреса работают (перенаправление https://example.com)

  • example.com
  • http://example.com
  • https://example.com

http://www.example.com показывает, что сайт не является безопасным, то есть он не использует сертификат.


S3

Я создал 2 S3 ведра example.com & www.example.com (А и В, соответственно). Статический веб-хостинг Bucket A позволяет размещать веб-сайт на сайте example.com. Статический веб-хостинг Bucket B перенаправляет все запросы на example.com.


CloudFront

У меня есть распределение с 2 альтернативных доменных имен (CNAMES), example.com и www.example.com. У меня также есть сертификат SSL на этом уровне.


Маршрут 53

У меня размещаемой зону с 2 псевдонимами А-типа, example.com и www.example.com, что и точка распределения CloudFront (в XX.cloudfront.net)

+0

* «У меня есть распределение с 2 синонимами» * Вы имеете в виду у вас есть оба домена, настроенные в поле Alternate Domain Name в CloudFront? Убедитесь, что у вас нет опечатки. –

+0

Да, я имел в виду ** Альтернативные имена доменов (CNAME) **. (отредактировано) – thisismytemp

+0

Равномерность сборки https://simonecarletti.com/blog/2016/08/redirect-domain-https-amazon-cloudfront/ –

ответ

2

Я удивлен, что вам повезло с конечными точками SSL, так как я понимаю, что правильная настройка - отключить статический хостинг веб-сайтов на ведрах s3 и убедиться, что весь трафик на них проходит через Cloudfront. Cloudfront будет обрабатывать сам SSL, включая переадресацию с HTTP на HTTPS, при условии, что вы настроите свой источник Cloudfront только для доступа HTTPS через параметр Origin Protocol Policy.

Для настройки CloudFront-к-s3 конфигурации: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

Для ограничения s3 быть доступны только CloudFront: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html

16

Вы должны иметь ваш контент распространяется по CloudFront. Таким образом, контент из вашего ведра S3 будет проходить через Cloudfront перед его обслуживанием.Вы можете найти информацию о том, как сделать это здесь: Using CloudFront with Amazon S3

Затем, во второй части, чтобы все ваши сервера данных с HTTPS, выполните следующие действия: Перейти к CloudFront> Вашего распределения> вкладка поведения> выберите первое элемент списка и нажмите «Изменить». Затем вы сможете увидеть опцию перенаправления http на https.

enter image description here

+0

Знаете ли вы, сколько времени потребуется, чтобы повлиять? –

+1

Я бы сказал, 10-20 минут для распространения CloudFront для обновления. Вы можете видеть его статус в консоли (интерфейс aws) –