CloudFront - 从S3提供静态网站,将API请求路由到自定义端口上的EC2

时间:2016-09-30 16:00:47

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

我有与此question类似的设置。

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

  • S3 Bucket提供静态内容(工作正常)
  • 在端口8888上运行某个API服务器的EC2计算机

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

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

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

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

2 个答案:

答案 0 :(得分:1)

我认为端口是问题所在。我不知道通过CloudFront将一些请求转发到不同的源服务器端口的方法。为什么不将应用程序负载均衡器放在EC2实例前面,监听标准端口443并转发到服务器上的端口8888?这也可以让您在将来扩展您的API服务器池。

答案 1 :(得分:0)

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