AWS 将域名指向云端和 API
AWS Point a domain name to both cloud front and an API
所以,我以前用过 Route 53 之类的东西。我现在有一个项目,其中将有一个通过静态页面提供服务但使用 Javascript 来点击 API 的网站。静态页面存储在缓存在云端的 S3 中,api 是一个 API 网关,绑定到一些后端逻辑。
如何使 www.site.com 指向云端附加的 S3 实例,但 www.site.com/api/ 重定向到我的 api?这可能吗?
使用 DNS 无法做到这一点。
相反,您可以使用 CloudFront 前端:S3 存储桶和 API。
- 创建 CloudFront 分配。
- 将其别名设置为 www.site.com
- 为
/api
创建一个 "behaviour" 并让它使用指向您的 API 的原点。
- 对其他所有内容都有第二个(默认)行为,并让它使用指向您的 S3 存储桶的原点。
- 最后,使用 Route53 指向 www.site.com 到您的 CloudFront 分配。
是的,您可以在 AWS 中执行此操作。
创建一个 CloudFront
分发,将您的域指向 Route53
中的 CloudFront
。
在新创建的分配中,找到 Origins
选项卡,select Create Origin
。添加路径/api
,指向API网关/ELB/EC2。
然后再创建一个origin,添加路径/cdn
,指向一个s3 bucket。
如果您使用 api.site.com
或某个类似的子域而不是 www.site.com/api
,则不需要将 CF 分发指向 APIGW API。
APIGW 前面已经有一个 CF 分布;自定义域名功能允许您导入附加到现有 CF 分发的 SSL 证书。然后APIGW提供了CF分发的域名所以你可以配置一个子域名记录像api.site.com
指向它
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html
所以,我以前用过 Route 53 之类的东西。我现在有一个项目,其中将有一个通过静态页面提供服务但使用 Javascript 来点击 API 的网站。静态页面存储在缓存在云端的 S3 中,api 是一个 API 网关,绑定到一些后端逻辑。
如何使 www.site.com 指向云端附加的 S3 实例,但 www.site.com/api/ 重定向到我的 api?这可能吗?
使用 DNS 无法做到这一点。
相反,您可以使用 CloudFront 前端:S3 存储桶和 API。
- 创建 CloudFront 分配。
- 将其别名设置为 www.site.com
- 为
/api
创建一个 "behaviour" 并让它使用指向您的 API 的原点。 - 对其他所有内容都有第二个(默认)行为,并让它使用指向您的 S3 存储桶的原点。
- 最后,使用 Route53 指向 www.site.com 到您的 CloudFront 分配。
是的,您可以在 AWS 中执行此操作。
创建一个 CloudFront
分发,将您的域指向 Route53
中的 CloudFront
。
在新创建的分配中,找到 Origins
选项卡,select Create Origin
。添加路径/api
,指向API网关/ELB/EC2。
然后再创建一个origin,添加路径/cdn
,指向一个s3 bucket。
如果您使用 api.site.com
或某个类似的子域而不是 www.site.com/api
,则不需要将 CF 分发指向 APIGW API。
APIGW 前面已经有一个 CF 分布;自定义域名功能允许您导入附加到现有 CF 分发的 SSL 证书。然后APIGW提供了CF分发的域名所以你可以配置一个子域名记录像api.site.com
指向它
http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html