我以前用过Route 53这样的东西。我现在有一个项目,那里将有一个网站,是在静态页面服务,但使用Javascript来打API。静态页面存储在S3中,缓存在cloudfront后面,api是绑定到一些后端逻辑的api网关。
我如何使它www.site.com指向cloudfront附加的S3实例,但www.site.com/api/重定向到我的api?这可能吗?
使用DNS是不可能做到的。
相反,您可以使用CloudFront来前端:S3桶和API。
- 创建CloudFront发行版。
- 设置别名为www.site.com
- 为
/api
创建一个"行为",并使用指向API的原点。 - 为其他一切设置第二个(默认)行为,并使用指向S3桶的源。 最后,使用Route53点www.site.com到你的CloudFront发行版。
如果您使用api.site.com
或类似的子域代替www.site.com/api
,则不需要将CF发行版指向APIGW API。
APIGW已经有CF发行版;自定义域名特性允许您导入附加到现有CF发行版的SSL证书。然后APIGW提供CF发行版的域名,这样您就可以配置像api.site.com
这样的子域记录来指向它。
是的,您可以在AWS中这样做。
创建CloudFront
分布,将域指向Route53
中的CloudFront
。
在新创建的发行版中,找到Origins
选项卡,选择Create Origin
。添加路径/api
,指向API Gateway/an ELB/an EC2
然后创建另一个origin,添加路径/cdn
,指向s3桶