Heroku + Rails 4.2:Cloudfront 设置

2023-11-27

我正在尝试为我的heroku 应用程序设置Cloudfront。文档似乎缺乏独立的立场。

以下是我遵循的步骤:

 1. Setup Cloudfront in AWS console
 2. Added cloudfront domain name to production.rb `config.action_controller.asset_host = 'XXXX.cloudfront.net'`
 3. Set `config.assets.compile = true` in production.rb
 4. Verified AWS_SECRET_ACCESS_KEY is correct in heroku config
 5. I have added `gem 'rails_12factor', group: :production`

不再加载任何资产。我在设置中缺少任何步骤吗?


Update1:

在 chrome 调试器中,可以通过以下 url 从 cloudfront 正确请求资源:http://XXXXX.cloudfront.net/assets/application-22c7c249df1a24541d86603b0715eefe.css

但是在请求标头中看到Status Code:302 Moved Temporarily。我想知道我是否有重定向循环以及如何调试它。

Update2

谢谢大家的建议。更多信息:

  1. 当我尝试从我的应用程序下载资产时,我会重定向到浏览器上的主页,但使用curl我可以获得该资产。例如:curl 'http://www.myapp.com/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css'
  2. 该应用程序不使用 SSL。不过,我仍然按照 @Omar 的建议将原始协议策略设置为匹配查看器
  3. 我尝试从浏览器上的应用程序下载资产,并且能够访问这些资产。例如:'http://www.myapp.com/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css' 然而,尝试直接在cloudfront上访问资产(d1ax5oefcdtdki.cloudfront.net/assets/application-c9a778bb55ad4152d956fd34fe6f7839.css)会将其重定向到myapp.com
  4. Cloudfront DS 的屏幕截图:

https://www.dropbox.com/s/bkg480d4it6zl2r/Screenshot%202015-12-06%2014.01.28.png?dl=0

http://glui.me/?i=7ah73hffrhvmpt7/2015-12-06_at_2.02_PM.png/

https://www.dropbox.com/s/dd4wwgm3md8w7qn/Screenshot%202015-12-06%2014.05.20.png?dl=0


对于其他在调试 cloudfront 时遇到问题的人。

问题是 Cloudfront 缓存了重定向(可能是设置错误)。使缓存无效后,我能够强制 CF 从我的应用程序中获取资源并为其提供服务。

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Heroku + Rails 4.2:Cloudfront 设置 的相关文章

随机推荐

  • 如何在 Yup 异步验证中设置动态错误消息?

    我正在使用 Yup 在 Formik 中尝试异步验证 test 方法并需要设置我从 API 获得的错误消息 根据后端的某些情况 错误消息会有所不同 尝试了这里提到的一些解决方案 https github com jquense yup is
  • 新 Android Studio 中的 APK 位置

    我开始使用新的 Android Studio 但在 IDE 中找不到应用程序的 APK 它实际位于哪里 为了帮助可能寻找同一问题答案的人 了解您在 Studio 中使用的项目类型非常重要 Gradle 新建项目时默认的项目类型 一般推荐使用
  • 使用 AngularJS 路由持久化查询字符串

    我已经在一个大型 Angular 应用程序上工作了近一年了 但我一直在尝试做我期望的微不足道的事情 这是我使用参数的两条路线 为了简洁而缩短 a id a id b 假设用户位于 a 1并修改查询字符串 例如 a 1 foo 123 bar
  • 如何使用 Java 8 流迭代引用父元素的嵌套 for 循环?

    我想使用 java8 迭代嵌套列表streams 并提取第一个匹配的列表的一些结果 不幸的是 如果子元素与过滤器匹配 我还必须从父内容中获取值 我怎么能这样做呢 java7 Result result new Result find fir
  • 在不存在的地方插入-无主键

    我有 3 个表 dentists groups 和 groupdentlink 许多牙医通过 groupdentlink 表链接到许多组 因此 我尝试进行一个查询 将行插入到 groupdentlink 将该州的所有牙医与该州的所有组链接起
  • Android:在图像视图上设置时如何检测从图库中选取的图像方向(纵向或横向)?

    我正在从图库 相机相册 中选取的图像视图上设置图像 如果选取的图像具有横向方向 则它会完美显示 但如果图像处于纵向模式 即在纵向模式下单击图像 则会显示旋转 90 度的图像 现在我试图找出在图像视图上设置之前的方向 但所有图像都给出相同的方
  • 哪个版本的 jQuery 和 jQuery Mobile 可以一起工作?

    我正在开展一个业余项目 希望它成为一个包含地理定位的移动应用程序 不过 我想从简单的开始 哪个版本的 jQuery 和 jQuery Mobile 协同工作效果最好 我在 iPad 应用程序上使用了一些旧版本 但我想知道更新的版本是否可以真
  • 如何在 Objective-C 中检测外部键盘连接?

    我的应用程序需要知道外部键盘是否连接 我怎样才能知道这一点 请不要使用私有 API 如果这与 iOS 相关 我不确定您为什么要检测它 因为硬件键盘的行为与软件键盘完全相同 除了一些额外的声音 亮度等快捷方式 您的应用程序不应该这样做 无论如
  • 错误:无法为 backports.zoneinfo 构建轮子,安装 django 时出错

    我是 python 开发新手 我正在尝试使用 django 但在使用安装 django 时遇到此错误pip3 install django 4 0 我尝试了一些解决方案 但没有一个有效 我已经尝试过了 将 pip 升级到最新版本 pip i
  • 如何使用 shell 脚本删除字符串中的尾随字符?

    如何删除最后一个n使用 shell 脚本从特定字符串中提取字符 这是我的输入 ssl01 49188 ssl01 49188 ssl01 49188 ssl01 49188 ssl999999 49188 ssl01 49188 abcf9
  • 在 D3.js 中使用序数比例创建标记为 x 轴的文本

    我正在 d3 js 中构建一个带有序数 x 轴的条形图 其刻度应使用文本标记图表 谁能解释序数刻度如何 映射 x 到相应的条形位置 具体来说 如果我想将带有文本值数组的 x 刻度标签指定为条形图中相应的条形 目前我将域设置如下 var la
  • 查找直方图最大值对应的 x 值

    我记录下来是为了证实 S O 的想法 感谢迈克尔 0x2a 我一直在尝试找到与绘制的直方图最大值相关的 x 值matplotlib pyplot 起初 我什至无法找到如何仅使用代码访问直方图的数据 import matplotlib pyp
  • 检查文件是否已经打开

    我正在编写一个文件读取库 需要检查文件是否已打开 以便我可以跳过打开语句并直接进行读取 在 Fortran 中如何实现这一点 当人们想了解与外部文件的连接时 可以使用inquire陈述 有两种形式 按卷查询 按单位查询 tom s answ
  • 如何从Windows服务运行exe并在exe进程退出时停止服务?

    我是使用 Windows 服务的完全初学者 我已经为该服务制定了基本框架 目前正在这样做 protected override void OnStart string args base OnStart args Process Start
  • 切换到任何 CPU 配置后,Win 服务项目将无法构建

    我正在尝试找到解决我的问题的方法 将我的 net 4 0 C Win Service 项目更改为 Any CPU Release 构建配置后 我收到以下编译时错误 Cannot specify main if building a modu
  • 动态模块未定义init函数(PyInit_fuzzy)

    我正在使用Python3 4 我正在尝试安装模糊模块 https pypi python org pypi Fuzzy 由于提到它仅适用于 Python2 因此我尝试使用 cython 对其进行转换 这些是我遵循的步骤 cython 模糊
  • 在 C++ 中使用私有函数覆盖公共虚函数

    是否有任何理由使重写的 C 虚函数的权限与基类不同 这样做有危险吗 例如 class base public virtual int foo double 0 class child public base private virtual
  • Chrome扩展中的登录与认证实践

    我正在开发一个 chrome 扩展并尝试实现一种身份验证方法 firebase 我对什么必须去哪里感到困惑 因为 popup html 不允许内联脚本 这使得它变得更加困难 据我所知 有两种选择 从扩展调用外部页面 由我托管 在新选项卡中打
  • 在使用动态的 TryParse 的 if 语句中“使用未分配的局部变量”

    我刚刚在 VS2015 Net v4 5 2 控制台应用程序中输入了以下代码 dynamic fromString blah toString blah2 DateTime fromDate toDate if DateTime TryPa
  • Heroku + Rails 4.2:Cloudfront 设置

    我正在尝试为我的heroku 应用程序设置Cloudfront 文档似乎缺乏独立的立场 以下是我遵循的步骤 1 Setup Cloudfront in AWS console 2 Added cloudfront domain name t