使用 cloudfront 处理静态文件和后端

Using cloudfront to handle static files and backend

我有一个单页应用程序(使用 angular 制作),我通过将云端指向 S3 存储桶来提供服务。这很好用。

但是,我想 运行 通过同一个域访问我网站的后端 - 我所做的是在我的云端分布中添加了另一个来源,它指向 django 应用程序所在的弹性 beanstalk 运行宁.

然后,我配置了行为,以便路径模式 /apiv1/* 由 django 处理。这不起作用,我在尝试访问我的端点时收到 403 禁止错误。

我正在寻找的行为如下:

  1. / 应指向 index.html 并加载静态文件(目前有效)
  2. /apiv1/... 应该指向 django。例如,要访问登录端点,我将拥有 website.come/apiv1/api/login(作为我机器上 localhost/api/login 的姿势)。

这可能吗?

如果有人在做类似的事情,这里有一个解决方法:

添加子域 - 我添加了 api.example.com,它是 example.com

的子域

然后,在 Route 53 中,我将 api.example.com 配置为通过别名指向 elb,并为子域申请了 ssl 证书!请注意,您在发出请求时必须使用 https,因此需要 ssl 证书。

我只是在我的 angular http 请求中更改了基础 url 并且它有效。