CloudFront静态网站和同一域上的EC2 API

时间:2017-12-15 15:47:19

标签: amazon-web-services amazon-ec2 dns amazon-cloudfront static-site

我在CloudFront上托管了我的静态网站。

我是否有办法使用相同的域名但不同的端口用于EC2实例的API调用?

EG。 example.com:3000应重定向到EC2实例,而example.com(又名example.com:443example.com:80)应重定向到CloudFront。

1 个答案:

答案 0 :(得分:2)

无法根据端口号识别目标主机。仅DNS名称决定了浏览器的连接位置。

但是,你仍然可以实现你想要的,而不是通过端口号。

您可以将CloudFront分配配置为根据URL中的路径将请求转发到静态网站或API。

要完成此操作,您需要在CloudFront分配中配置多个来源和多个行为:

  • /api/* - > EC2原产地
  • 其他所有 - >静态网站起源

在您的浏览器中,它显示为单个网站。当您请求https://www.example.com/page1.html时,CloudFront会将请求转发给静态网站站点。当您请求https://www.example.com/api/MyRestMethod时,CloudFront会将请求转发给您的EC2。

这也允许您在API和静态网站之间使用相同的ACM证书进行HTTPS。