【发布时间】:2021-11-28 21:57:54
【问题描述】:
我有一个烧瓶应用程序通过 zappa 部署到 AWS Lambda。 Zappa 创建了一个 AWS 休息端点,例如 random_api_ID.execute-api.us-east-2.amazonaws.com/dev,当直接输入浏览器时,它可以完美运行。但是,当我使用 Cloudfront 将此端点关联到我的自定义域 dev.mywebsite.com 时,对于存储在子文件夹中的任何资产,我都会在响应中收到 404 错误。原因是因为 Cloudfront 正在提供诸如
dev.mywebsite.com/dev/static/css/style.css
而不是
dev.mywebsite.com/static/css/style.css
另外,这有效:random_api_ID.execute-api.us-east-2.amazonaws.com/dev/static/css/style.css
但这不是:random_api_ID.execute-api.us-east-2.amazonaws.com/static/css/style.css
所以,不知何故,我需要 Cloudfront 将 random_api_ID.execute-api.us-east-2.amazonaws.com/dev 与 dev.mywebsite.com 关联,而不是 dev.mywebsite.com/dev。
我的 Cloudfront 发行版具有以下参数:
Alternate Domain Name: dev.mywebsite.com
Origin Domain: random_api_ID.execute-api.us-east-2.amazonaws.com
Origin Path: dev <-- this is the stage name
我尝试通过 AWS API Gateway 将自定义域映射到 zappa 生成的 AWS 休息端点;但是,该解决方案会生成一个我无法控制的私有 Cloudfront 域;我更喜欢涉及配置 Cloudfront 的解决方案。
提前致谢!
【问题讨论】:
标签: amazon-web-services flask aws-api-gateway amazon-cloudfront domain-mapping