Amazon S3静态网站 - 将HTTPS重定向到HTTP

时间:2014-07-21 17:28:34

标签: amazon-web-services amazon-s3 amazon-cloudfront

我即将使用S3 / Cloudfront启动静态网站。我不需要为该网站提供HTTPS,但网站的当前迭代是通过HTTPS提供的,并且有数百个链接和带有HTTP的索引URL。

我一直在搜索数小时,并且在仅使用S3 / Cloudfront时无法找到将我们的HTTPS网址重定向到HTTP的方法。目前,HTTPS URL将拒绝连接,而不是重定向到页面的HTTP版本。

没有Apache,似乎无法做到这一点。任何提示?

1 个答案:

答案 0 :(得分:24)

S3上的静态网站托管不支持HTTPS,除非您使用完整的域路径,即example.com.s3-website-us-east-1.amazonaws.com。由于您希望保留您的URL,因此您必须使用CloudFront分配来处理SSL。

  1. 将您的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]
  2. 创建云端分发并进行如下配置:

    • 来源域名:您的s3存储桶
    • 替代域名(CNAME):您网站的所需位置,例如: example.com或www.example.com
    • SSL证书:选择您在步骤1中上传的SSL证书。
    • 自定义SSL客户端支持:除非您需要兼容真正的旧客户端,否则请选择“仅支持服务器名称指示的客户端”并节省600美元。

    如果要将https重定向到s3重定向,则原始域不应该是自动完成存储桶,但静态重定向端点s3会为您提供

  3. 保存您的发行版。它应显示状态“进行中”。分发“部署”通常需要大约15分钟;在您的发行版“已部署”之前,请不要继续执行第4步。

  4. 验证分发是否有效:通过列表中的域名导航到CloudFront分配,例如“HTTPS // d111111abcdef8.cloudfront.net /”。你应该看到你的网站。
  5. 将您的DNS记录更改为指向CloudFront分配而不是S3存储桶。
  6. [1]如果您在将证书添加到CloudFront时遇到问题,请查看此文章以获取更多信息:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#cnames-and-https-procedure