我目前正在广泛使用API网关作为CloudFront的源。我的CloudFront也提供其他功能,例如来自S3的普通文件。
我最近一直在寻求改进当前的设置,并注意到API网关中的“自定义域名”选项。
根据我的理解,使用它可以创建一个不可配置的CloudFront实例。除此之外我还没有找到太多信息。
使用API网关自定义域名比使用自我管理的CloudFront实例有什么好处吗?
使用AWS CloudFront时,您可以为分发配置不同的起源,例如S3,API Gateway等,以便通过相同的域提供不同的服务。例如,您可以将mydomain.com指向S3中的index.html,mydomain.com / api / *指向API网关。这允许前端JavaScripts访问API而无需API网关上的跨源请求支持,这避免了浏览器发送选项预检(如果您有Cookie,授权等标题)请求。
另一方面,您可以将自定义域名配置为API网关。这允许使用AWS Certificate Manager定义自定义域以及自定义SSL证书。主要区别在于,如果您有前端应用程序,则需要为从S3和API提供的前端定义两个域(或不同的子域)。从不同的域访问API时,需要在API网关上配置CORS,并且可能会根据延迟影响性能。