对于上下文,我正在构建一个使用Django和Vue.js的小型应用程序。我要执行以下操作:
/api/
和/admin/
)发送到API网关,并在其中通过AWS Lambda函数提供服务/media/
和/assets/
提供请求我想知道是否可以针对三个CloudFront原始配置中的每一个使用相同的域/子域来做到这一点。
我知道如何为API网关设置自定义域名,例如api.mysite.com
。如果我有mysite.com
的Route53 A记录指向它的CloudFront分布,我在想我可以设置一个自定义来源配置,该配置指向api.mysite.com
和/api/
的路径模式上的/admin/
。 mysite.com/api/health-check/
。尝试执行此操作时,当我尝试访问api.mysite.com/api/health-check/
时在CloudFront上出现502错误,但是当我访问stage
(API网关自定义域名)时,我得到了良好的健康检查。
我认为我有一个XY Problem,因为我不确定这是建议还是可能的。我是否应该为API网关使用另一个子域并设置CORS,以便我的Vue应用程序可以向Django API发出请求?还是可以对S3网站,S3 Origin和API Gateway使用一个CloudFront发行版?
我正在使用CDK定义我的所有基础结构。我以前在与S3网站相同的域名上使用了ALB,并且可以在不需要CORS的情况下在相同域名上向API发出请求,但是我是API Gateway的新手,并且不确定其自定义域名如何工作。另外,ThisWorkbook.Worksheets("FFL").xxx.AddItem "hi"
附加到API网关域的URL的事实令我感到困惑,我不确定这是否或将如何影响我的解决方案。
您可以在同一CloudFront发行版中使用多个来源来解决此问题。
您将进行以下设置:
默认的基于路径的路由之后的其他起点(尽管起点只能支持一条路径)。
如果这是所有设置,则可以将主机名分配给单个CloudFront分配。
有关setting up multiple origins的更多信息。