Статический сайт Amazon S3 - перенаправление HTTPS на HTTP

Я собираюсь запустить статический веб-сайт с использованием S3/Cloudfront. Мне не нужен HTTPS для сайта, но текущая итерация веб-сайта передается через HTTPS и содержит сотни ссылок и индексированных URL-адресов, которые являются HTTPS.

Я искал часы и не могу найти способ перенаправления наших HTTPS-URL-адресов на HTTP при использовании только S3/Cloudfront. В настоящее время URL-адрес HTTPS будет отклонять соединение вместо перенаправления на версию HTTP-страницы.

Без Apache, похоже, это невозможно сделать. Любые подсказки?

Ответ 1

Статический хостинг веб-сайтов на S3 не поддерживает HTTPS, если вы не используете полный путь к домену, т.е. example.com.s3-website-us-east-1.amazonaws.com. Поскольку вы хотите сохранить свой URL-адрес, вам придется использовать дистрибутив CloudFront для обработки SSL.

  • Загрузите сертификат SSL в CloudFront: aws iam upload-server-certificate --server-certificate-name CertificateName --certificate-body file://public_key_certificate_file --private-key file://privatekey.pem --certificate-chain file://certificate_chain_file --path /cloudfront/path/ [1]
  • Создайте облачный дистрибутив и настройте так:

    • Происхождение доменного имени: ваше ведро s3
    • Альтернативные имена доменов (CNAME): желаемое место для вашего веб-сайта, например. example.com или www.example.com
    • Сертификат SSL. Выберите сертификат SSL, который вы загрузили на шаге 1.
    • Пользовательская поддержка SSL-клиентов. Если вам не нужна совместимость для действительно старых клиентов, выберите "Только клиенты, поддерживающие индикацию имени сервера", и сохраните 600 долларов США.

    Если вы перенаправляете https в s3-переадресацию, исходный домен не должен быть байтом автозаполнения, но конечная точка статического перенаправления s3 дает вам

  • Сохраните распределение. Он должен показывать статус "Выполняется". Обычно обычно занимает ~ 15 минут, прежде чем распределение "Развернуто"; не переходите к шагу 4, пока ваше распределение не будет "Развернуто".

  • Проверьте работу дистрибутива: перейдите к дистрибутиву CloudFront через имя домена в списке, например. "HTTPS//d111111abcdef8.cloudfront.net/". Вы должны увидеть свой сайт.
  • Измените свои записи DNS, чтобы указать на дистрибутив CloudFront вместо ведра S3.

[1], если вам не удается добавить сертификат в CloudFront, ознакомьтесь с этой статьей для получения дополнительной информации: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#cnames-and-https-procedure