赫罗库+;CDN Cloudfront+;字体-Firefox错误

赫罗库+;CDN Cloudfront+;字体-Firefox错误,firefox,heroku,cors,amazon-cloudfront,Firefox,Heroku,Cors,Amazon Cloudfront,最近,我们将资产转移到CDN Cloudfront上。我们注意到Firefox上的表面被破坏了。经过几分钟的搜索,这是一个关于CORS的故事。我们允许场地在前面 应用程序\u控制器: after_filter :set_access_control_headers def set_access_control_headers headers['Access-Control-Allow-Origin'] = CDN_CLOUDFRONT end production.rb: CDN_CLO

最近,我们将资产转移到CDN Cloudfront上。我们注意到Firefox上的表面被破坏了。经过几分钟的搜索,这是一个关于CORS的故事。我们允许场地在前面

应用程序\u控制器

after_filter :set_access_control_headers

def set_access_control_headers
  headers['Access-Control-Allow-Origin'] = CDN_CLOUDFRONT
end
production.rb

CDN_CLOUDFRONT = "http://xxx.cloudfront.net"
直到昨天为止,这一切都很顺利。经过几次搜索和思考,我没有找到解决方案


有什么想法吗?

我还没有使用Heroku设置,但是AFAIK(如中所示),标题
访问控制允许源代码
应该反映使用CDN静态资产的域的值

例如: 对于托管在并使用来自的资产的网站

headers['Access-Control-Allow-Origin']='http://mydomain.net“

将允许mydomain.net通过访问资产。换句话说,用您网站的域名替换
CDN\u CLOUDFRONT
应该可以解决问题

希望这有帮助

注:直到昨天我才确定你的设置是如何工作的


p.p.S:在您的CDN中添加备用域名(CNAMEs)将有助于您快速放弃已公开的现有分发,并开始使用新的分发。如果您使用的是另一个域名(如在这种情况下),则无需更改应用程序代码库中的任何内容。

这是我在与同一主题相关的另一个Stack Exchange页面中发布的内容的副本,如果其他人有相同的问题但没有找到正确的答案,我将保留此内容

我对Heroku上的Rails 3应用程序也有同样的问题;字体可怕的图标没有显示,因为我是通过相扑CDN运行我的资产

有几个回复与此相关,其中一个是在应用程序控制器中放置一个after_过滤器来设置头值(通过freemanoid),但这对我不起作用,我不得不使用Peter Marklund建议的自定义中间件

这两种解决方案都发布在Rails 3.1版本下:

我使用的解决方法-分别将字体上载到S3,并在bucket上设置cors配置。硬编码字体链接到S3字体。 所有资产(字体除外)将来自cloudfront——您的字体将来自S3。
它很难看——但它很有效……

你有没有检查过这个类似问题的答案?问题听起来相同,但CDN提供程序不同->答案不同。应该在资产查询上设置此标题,对吗?还是html查询?我正在努力解决这个问题(),如果您能再详细一点,我们将不胜感激!除非将Cloudfront正确配置为转发Cors头,否则这将不起作用。