Rails 4 + Nginx - 通过CloudFront提供服务字体不会由CORS加载

时间:2015-03-18 09:44:22

标签: ruby-on-rails ruby-on-rails-4 nginx amazon-cloudfront

我在http://revoniaga.com的网站运行RoR,但字体不会加载它所说的“阻止加载来自跨源资源共享策略"”。它由Amazon CloudFront引起。我尝试了一切,但结果仍然相同。

首先,我将我的字体资源放在/ app / assets / font

然后在我的css(vendor / assets / stylesheets / font-awesome.css)中,我使用这样的东西:

@font-face {
  font-family: 'FontAwesome';
  src: url('/assets/fontawesome-webfont.eot?v=4.3.0');
 //and so on for other font format
}

在我的/ etc / nginx / sites-available / revoniaga_production,我把

location ~* \.(eot|otf|svg|ttf|woff|woff2)$ {
  add_header Access-Control-Allow-Origin *;
}

然后当我卷曲时:

curl -I https://d3bkb7gt2ds4m6.cloudfront.net/assets/fontawesome-webfont.woff2

它说

HTTP/1.1 404 Not Found
Content-Type: text/html
Content-Length: 168
Connection: keep-alive
Server: nginx/1.6.2
Date: Wed, 18 Mar 2015 09:34:29 GMT
Age: 242
X-Cache: Error from cloudfront
Via: 1.1 404e3b476748051f3f9bc690b72173b4.cloudfront.net (CloudFront)
X-Amz-Cf-Id: 3yUNjkFQHC83FlbEwVMBSddpQND_4GbXauyeTtDyKawS6GzftUwXRA==

我还要重新启动我的服务器" service nginx restart"但仍然没有发生

这是我的CloudFront,这是默认设置

enter image description here

我的开发环境中的一切正常

我无法理解为什么会这样。请帮忙

提前致谢

1 个答案:

答案 0 :(得分:0)

通过干净安装服务器解决问题,将ruby升级到2.2.1加..看起来问题来自服务器本身。我之前的设置很好..