【问题标题】:Easiest way to configure a proxy for static Amazon S3 content and dynamic heroku content为静态 Amazon S3 内容和动态 heroku 内容配置代理的最简单方法
【发布时间】:2016-07-12 12:05:16
【问题描述】:

我的移动应用由 heroku (foo.herokuapp.com) 上的一个动态部分组成,它为我们向未安装该应用的用户公开的一些内容提供我们的 API 和 Web 视图。当然还有一个托管在 S3 上的静态登录页面 (http://foo.co)。

目前,我已设置 DNS 以将 foo.co 解析为我们的 S3 实例。 S3 有路由规则来将我们的动态内容 (http://foo.co/some_dynamic_data/1234/) 重定向到我们的 heroku 服务器。

鉴于这是一个 3XX 重定向,这会给用户带来非常难看的体验,因为他们的浏览器栏现在将反映我们的 heroku 后端。

问题: 我可以部署一个简单的代理服务,它具有特殊的路由规则,可以将动态内容路由到 heroku,将静态内容路由到 S3,这样我就可以将 foo.co DNS 指向代理,而不必通过重定向向用户公开后端?

【问题讨论】:

    标签: amazon-web-services heroku amazon-s3 dns


    【解决方案1】:

    CloudFront。

    不要说,“但我认为那是一个 CDN。”这就是它的营销方式,但它也是一个反向代理 HTTP 请求路由器,可以根据请求路径选择后端。可以使用缓存功能,如果您不需要/想要/理解它,也可以将其禁用。

    创建具有两个来源(CloudFront 将您的后端服务器称为后端服务器)的分配——一个用于存储桶,一个用于 API 端点。

    将您的 example.com 主机名配置为分发设置中的备用主机名。

    创建路径行为以选择哪个路径模式路由到哪个原点。如果有一个明显的选择让其中一个成为默认路径,则捕获所有未配置的路径,将默认行为指向该特定来源。

    将 DNS 主机名指向 CloudFront 分配。

    可选:在您的站点上使用一些 SSL 以及来自 Amazon Certificate Manager 的免费证书,该证书与 CloudFront 集成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-06
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 2013-03-20
      相关资源
      最近更新 更多