我在CloudFront上托管了我的静态网站。
我是否有办法使用相同的域名但不同的端口用于EC2实例的API调用?
EG。 example.com:3000
应重定向到EC2实例,而example.com
(又名example.com:443
或example.com:80
)应重定向到CloudFront。
答案 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。