【问题标题】:CloudFront - Serve static website from S3, route API requests to EC2 on custom portCloudFront - 从 S3 提供静态网站,将 API 请求路由到自定义端口上的 EC2
【发布时间】:2017-02-09 06:35:31
【问题描述】:

我有一个与question 类似的设置。

我已将 CloudFront 设置为 CDN。在 CloudFront 中,我创建了两个来源:

  • 提供静态内容的 S3 存储桶(工作正常)
  • 在端口 8888 上运行一些 API 服务器的 EC2 机器

现在在 CloudFront 中,我添加了一种行为 (precedence 0),即所有对“/api/*”的请求都被转发到 EC2 实例,包括所有标头和任何内容。整个事情应该通过 HTTPS(S3 和 EC2)提供服务。

问题是对 /api 的请求似乎超时。我不确定问题出在哪里。可能与:

  • 端口 - 我可以/应该在哪里反映端口号是8888?我还尝试将原始设置中的 HTTPS 端口定义为“8888”而不是“443
  • 其他一些安全或映射​​设置?

注意:我还没有更新 DNS 设置,CloudFront 指向真实域。目前仅使用 CloudFront 生成的域。

【问题讨论】:

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


    【解决方案1】:

    我认为端口是问题所在。我不知道通过 CloudFront 将某些请求转发到不同的源服务器端口的方法。为什么不在EC2实例前面放一个Application Load Balancer,监听标准的443端口,转发到服务器的8888端口呢?这也将使您能够在未来扩展您的 API 服务器池。

    【讨论】:

    • 感谢您的回答。我下周试试,到时候再回复。
    • 这是最灵活的解决方案,因为负载均衡器允许基于规则的许多路由选项。
    【解决方案2】:

    我会尝试在 EC2 服务器上安装 Nginx 以接受请求 (80/443) 并将它们代理到端口 8888。似乎比运行 ALB 更简单。

    【讨论】:

      猜你喜欢
      • 2023-03-05
      • 1970-01-01
      • 2020-08-20
      • 2019-06-30
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2017-10-03
      相关资源
      最近更新 更多