【问题标题】:S3: "Redirect all requests to another host name" over HTTPSS3:通过 HTTPS 将所有请求重定向到另一个主机名
【发布时间】:2015-05-27 23:17:09
【问题描述】:

我创建了一个 S3 存储桶并在“静态网站托管”下启用了“将所有请求重定向到另一个主机名”。

这很有效,当我访问 http://www.XXXX.com.s3-website-us-east-1.amazonaws.com 时,我被重定向到我的最终目的地。

但是,如果我尝试通过 HTTPS 访问相同的 URL:https://www.XXXX.com.s3-website-us-east-1.amazonaws.com,则连接超时。

是否可以指定要使用的 SSL 证书以便重定向可以处理 HTTPS 流量?

【问题讨论】:

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


【解决方案1】:

单独使用 S3,不,这是不可能的。网站端点根本不使用 SSL,REST 端点不处理重定向或允许除 *.s3(-region).amazonaws.com 证书之外的任何证书。

但是,如果您的客户支持 SNI,您可以将 CloudFront 和 S3 结合使用。

创建一个 CloudFront 分配,使用您的主机名和 SSL 证书进行配置,但不要使用“S3 源”。使用“自定义源”,该源是您的 S3 网站端点主机名,所有请求都使用 http 转发到源(即使前端是 https)。

如果您不熟悉 CloudFront,这可能听起来有点令人费解,但我正是出于这个目的(以及其他目的)使用它。

请求命中 CloudFront,它允许您使用自己的 SSL 证书...然后 CloudFront 将请求转发到 S3,S3 返回重定向,CloudFront 将缓存并返回给请求者(以及未来的请求者点击相同的 CloudFront 边缘站点)。

这个额外层的成本可以忽略不计,您应该不会看到任何有意义的性能变化(如果有的话,可能会稍微提高速度)。

【讨论】:

    猜你喜欢
    • 2016-10-23
    • 2013-04-06
    • 2013-11-26
    • 2014-06-30
    • 2018-09-15
    • 1970-01-01
    • 2018-05-05
    • 2017-06-08
    • 2018-09-22
    相关资源
    最近更新 更多