gpt4 book ai didi

ruby-on-rails - 用于 AngularJS HTML 模板的 Rails + AWS CloudFront + CORS

转载 作者:行者123 更新时间:2023-12-04 05:45:17 24 4
gpt4 key购买 nike

我正在部署一个使用 AngularJS 作为前端 MVC 框架的 Rails 4 应用程序,我想通过 CDN 部署我们的 Assets 。后 running into issues在调用 asset_path 时获取正确指纹的 URL在我的 AngularJS 路由 javascript 文件中,我决定消除 AssetSync gem 。为了替换 AssetSync,我想简单地在我的 Rails 服务器之上使用 Amazon CloudFront,为其自己的静态 Assets 提供服务。这对我的 CSS 和 JS 文件很有用,但不幸的是,当我尝试将 Angular 的 HTML 模板作为 Assets 提供时遇到了 CORS 问题:

Chrome Dev Tools console output

任何想法将不胜感激!

更新 4/30:

我终于能够让我的 Rails 服务器使用 rack-cors gem 在 Assets 上设置正确的“Access-Control-Allow-Origin” header 按照 this Github issue 中的说明进行操作.现在当我运行时 curl要从 CloudFront 获取文件,我会看到正确的 header 。但是,当我运行 curl 时发送 OPTIONS请求,我仍然收到 403 Forbidden。查看下面的两个屏幕截图:

Assets 的 GET 请求看起来不错:

Curl GET Request

但是 OPTIONS 请求没有....

Curl GET Request

最佳答案

您需要在您的云前端缓存行为上启用 OPTIONS 的使用。

您可以在控制台中通过选择您的发行版并转到行为选项卡来执行此操作。

编辑默认缓存行为并启用扩展动词支持:

Allowed HTTP Methods
GET, HEAD, PUT, POST, PATCH, DELETE, OPTIONS

关于ruby-on-rails - 用于 AngularJS HTML 模板的 Rails + AWS CloudFront + CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23377343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com