【问题标题】:Creating API on same domain used by AWS CloudFront在 AWS CloudFront 使用的同一域上创建 API
【发布时间】:2019-10-20 04:10:03
【问题描述】:

我有一个由 AWS CloudFront 和 S3 提供服务的 React 网站。我想要一个与我联系的部分,它使用 API 网关和 Lambda 将详细信息发送到 API。

是否可以将 API 端点设置在 cloudfront 使用的同一域上?

例如:

POST www.example.com/contact-us --> API gateway --> Lambda
www.example.com/* --> Cloudfront --> S3

【问题讨论】:

    标签: aws-api-gateway amazon-cloudfront


    【解决方案1】:

    边缘优化 API 网关也基本上使用 CloudFront,您不能与 CloudFront 和 API 网关拥有相同的域名,但您可以将 API 网关定义为 CloudFront 的来源并使用路径缓存行为,例如:/contact-us 并且可以触发API 网关,如果没有,您可以编写 js 以直接从联系我们页面触发 API GW 端点(aws dns 名称)。

    【讨论】:

    • 谢谢詹姆斯,我想我更喜欢前一个选项。所以如果我创建一个新阶段(例如xyz.execute-api.eu-west-2.amazonaws.com/api),我可以使用xyz.execute-api.eu-west-2.amazonaws.com作为源域名,/api作为源路径,然后通过访问www.example.com/api调用api?跨度>
    • 是的,它应该可以工作。注意:通过缓存控制标头或 TTL 来处理缓存。
    • 不要添加原始路径,而是让客户端使用此路径请求并匹配缓存行为。
    • 是的,我必须删除源路径,然后只需将路径模式添加到行为选项卡以调用源,它就可以工作。稍后我将在我的步骤中附上答案。感谢您的帮助詹姆斯。
    猜你喜欢
    • 2017-07-22
    • 2017-04-02
    • 1970-01-01
    • 2017-08-10
    • 2017-12-09
    • 1970-01-01
    • 2020-11-11
    • 2020-12-22
    • 2019-11-21
    相关资源
    最近更新 更多