使用 cloudfront 处理静态文件和后端
Using cloudfront to handle static files and backend
我有一个单页应用程序(使用 angular 制作),我通过将云端指向 S3 存储桶来提供服务。这很好用。
但是,我想 运行 通过同一个域访问我网站的后端 - 我所做的是在我的云端分布中添加了另一个来源,它指向 django 应用程序所在的弹性 beanstalk 运行宁.
然后,我配置了行为,以便路径模式 /apiv1/* 由 django 处理。这不起作用,我在尝试访问我的端点时收到 403 禁止错误。
我正在寻找的行为如下:
- / 应指向 index.html 并加载静态文件(目前有效)
- /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 并且它有效。
我有一个单页应用程序(使用 angular 制作),我通过将云端指向 S3 存储桶来提供服务。这很好用。
但是,我想 运行 通过同一个域访问我网站的后端 - 我所做的是在我的云端分布中添加了另一个来源,它指向 django 应用程序所在的弹性 beanstalk 运行宁.
然后,我配置了行为,以便路径模式 /apiv1/* 由 django 处理。这不起作用,我在尝试访问我的端点时收到 403 禁止错误。
我正在寻找的行为如下:
- / 应指向 index.html 并加载静态文件(目前有效)
- /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 并且它有效。