gpt4 book ai didi

amazon-web-services - 通过单个 CloudFront 分配支持 HTTPS URL 重定向

转载 作者:行者123 更新时间:2023-12-03 17:06:48 29 4
gpt4 key购买 nike

我有一个域 formulagrid.com .

我正在使用 AWS S3 将其托管为静态网站。我的问题是我想将 www 子域重定向到裸域,如下所示:

  • https://www.formulagrid.com -> https://formulagrid.com
  • http://www.formulagrid.com -> https://formulagrid.com

  • 如果两者都设置为静态网站托管,Amazon 会提供从 S3 存储桶到 S3 存储桶的 URL 重定向。

    所以我要做的就是设置两个桶:
  • formulagrid.com - 实际网站
  • www.formulagrid.com - 仅用于重定向到实际网站

  • 如果您仅通过 HTTP 进行操作,这将非常有效,但 S3 绝对不支持 HTTPS。

    使用 HTTPS 连接到 S3 静态网站的方法是在 S3 存储桶前设置 CloudFront 分配。然而,CloudFront 虽然确实提供了 HTTPS,但主要是作为 CDN 存在的。

    最初,我在保存实际站点的 S3 存储桶前面有一个 CloudFront 分配设置。一切似乎都可以运行:该站点通过 CDN 分发,它具有 HTTPS,并且 HTTP 重定向到 HTTPS。

    有一个异常(exception)。
  • https://www.formulagrid.com是一个完全损坏的页面

  • 找了一阵子错误的源头,才发现是因为没有经过CDN,尝试通过HTTPS访问S3不起作用。

    最后,我最终不得不做的是在 www 前面提供另一个发行版。 S3 存储桶,因此可通过 HTTPS 访问。这就是我担心的地方,因为就像我之前提到的,CloudFront 的主要目的是成为 CDN。

    将 CDN 放在一个只是重定向到另一个的 url 前面对我来说没有任何意义。它还提出了一个问题,即我是否会为每个到达 www 的请求支付双倍费用。子域,因为它在重定向后会命中其他 CloudFront 分配。

    这令人沮丧,因为我正在尝试使用 Lambda 构建“无服务器”架构,并且必须配置 EC2 实例来进行 url 重写不是我想做的事情,除非这是我最后的手段。

    如果 Amazon 提供任何形式的 URL 重写或 CloudFront 本身进行重定向,则解决方案将是微不足道的,但据我所知,这些都不存在(如果有,请告诉我)。

    我是 AWS 的新手,所以我希望有更多经验的人可以为我指明正确的方向。

    最佳答案

    你想得太狭隘了——这个设置没有错。

    The solution would be trivial if Amazon offered any form of URL rewriting



    他们确实——空桶。

    S3 has absolutely no support for HTTPS.



    不适用于网站托管的存储桶,不...但 CloudFront 可以。

    CloudFront 不仅仅是一个 CDN。它也是一个 SSL 卸载程序, Host: header 重写器、路径前置器、地理定位器、地理限制器、安全内容网关、http 到 https 重定向器、错误页面定制器、根页面替代器、Web 应用程序防火墙、源头注入(inject)器、动态内容 gzipper、基于路径的多源 http 请求路由器、查看器平台标识符、DDoS 缓解器、区域 apex 别名目标......所以不要太纠结于“CDN”或您将一项服务堆叠在另一项服务之前的事实——CloudFront 在很大程度上是设计的,补充 S3。他们每个人都专注于存储和交付的某些方面。

    所以,你做对了......无论如何,大部分......创建一个存储桶,将其配置为网站托管,将其设置为将所有请求重定向到另一个站点(非 www)并将 CloudFront 分配放在前面其中 - 使用 CloudFront 中的存储桶的网站端点 URL,而不是下拉列表中的一个 - 配置了高 TTL,以便 CloudFront 向 S3 发送最少数量的请求,然后将您的(免费!)来自 Amazon Certificate Manager 的 SSL 证书。 HTTPS 备用域路由:已解决。没有服务器,没有故障排除,而且便宜。唯一的费用是使用费——没有像服务器那样的后台经常性费用。

    额外积分:为最便宜的费率层配置重定向 CloudFront 分配。来自更昂贵位置的重定向将被路由到更便宜的边缘位置,或者——根据 CloudFront 的选择——可以从成本更高的位置提供服务,但以较低的费率计费。

    请注意,大多数情况下,CloudFront 应该从其缓存中提供来自 S3 的重定向...当您将存储桶配置为将所有请求重定向到另一个主机名时,重定向是 301永久重定向——哪些浏览器应该自己缓存。

    关于amazon-web-services - 通过单个 CloudFront 分配支持 HTTPS URL 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35614734/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com