【问题标题】:Route53 to S3 static website redirect from https to httpRoute53 到 S3 静态网站从 https 重定向到 http
【发布时间】:2015-05-19 10:23:45
【问题描述】:

我在 route53 中设置了我的域,其中包含 2 个不同的加权 A 条目:

  • “live”:指向实时应用程序(带有 ec2 实例的负载均衡器)
  • “maintenance”:指向静态 S3 网站(html 页面告诉网站已关闭)

所以我有一些脚本可以使实时应用程序进入维护模式并重新启动(更改两个 A 条目的权重)。这非常有效,只是现在我使用 HTTPS 访问我的应用程序,这不适用于 S3 静态站点。是否可以使用 route53 或其他地方使 https 调用使用 http 重定向到 s3 静态网站?

【问题讨论】:

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


    【解决方案1】:

    不,不可能使用 DNS 将方案从 http 更改为 https ...并且从 https 重定向到 http 仍然需要成功连接到某种端点,该端点也为您提供有效的 SSL 证书域。

    但是...处理此问题的一个有趣方法是使用 Cloudfront,它允许您安装相同的 SSL 证书来前端 S3 中的静态站点。如果可以合理地期望您用户的浏览器支持 SNI,那么这似乎是一个赢家。

    您希望将存储桶配置为“自定义”源,并将 S3 网站端点作为源...并且您希望存储桶对象上的 Cache-Control 标头,配置为使浏览器不缓存您的“维护模式”页面。 (实际上,无论你做什么,你都会想要那个)。

    【讨论】:

    • 嘿,好的,所以我将 cloudfront 放在 S3 静态站点的前面。当我转到云端 url 时,它可以工作(使用 https),但是当我转到已使用 Route53 配置到此云端的域名时(通过别名),我收到“AccessDenied”错误(403)。知道这可能是什么吗?我必须在某处配置的策略?
    • @NathanQ - 在您的 Cloudfront 配置中,您是否将 Cnames 添加到您的发行版中?此外,不要忘记将您的域证书添加到 Cloudfront 证书。这与您为 ELB 执行的操作略有不同(路径必须是 /cloudfront/path/)docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
    • 现在好像可以了。我前段时间添加了 CNAME,但可能我所做的更改在我测试时尚未完全设置。目前我只是在使用一些测试证书。但是当我使用您提供的链接获得真正的证书时会改变。谢谢大家!
    • 嗯,现在当我改回“实时模式”(切换 Route53 A 条目的权重)时,它仍然将我引导到这个云端,而不是我的负载均衡器。是因为 cname 配置的原因吗?或者是什么原因造成的?
    • 您指的 CNAME... 在 CloudFront 配置中,而不是 Route 53,对吗?如果是这样,那不是问题。您对 DNS 查询有何响应?
    猜你喜欢
    • 2013-07-03
    • 1970-01-01
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多