5

我正在尝试为在 Heroku 中托管并使用 CDN Sumo 插件(使用云端 CDN)的 Rails3 应用程序配置 font-awesome。

问题是 Firefox 没有加载字体资源。我认为问题出在 Firefox 中的“Access-Control-Allow-Origin”问题。但是我无法通过使用 font_assets gem 或在 Cloudfront 中设置 CORS 策略来修复它(我无法访问它,因为我使用的是 CDN Sumo 插件)。

任何想法?

谢谢!

4

3 回答 3

5

确保Access-Control-Allow-OriginHeader 由托管字体的服务器设置。

如果您需要更改它,您可以通过 CDN Sumo 仪表板配置您的源服务器。

CDN Sumo 目前不支持自定义 CORS 策略。

作为参考,这些链接可能有用:

为 Rails 应用程序设置 CORS

火狐和CORS

Heroku / CDN / 字体

于 2013-07-30T07:29:30.760 回答
2

我刚刚发现了开箱即用的支持 CORS 的优秀(免费)CDNJS(由 Cloudflare 提供支持)。

对于 Rails 应用程序,在布局文件中添加 font-awesome CSS 链接标签,如下所示:

<%= stylesheet_link_tag "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.min.css", :media => "all" %>

(当然,如果您使用的是资产管道,请确保从那里删除 font-awesome。)

您可以继续使用 CDN Sumo 处理其余资产。

于 2013-10-21T01:26:07.773 回答
1

Heroku 上的 Rails 3 应用程序也有同样的问题;Font-Awesome 图标没有显示,因为我通过 Sumo CDN 运行我的资产。

有几个与此相关的回复,其中之一是在您的 application_controller 中放置一个 after_filter 以设置标头值(通过 freemanoid),但这对我不起作用,我不得不使用 Peter Marklund 建议的自定义中间件.

两种解决方案都在 Rails 3.1 版本下发布: 如何在 webrick 中设置 access-control-allow-origin 在 rails 下?

于 2014-01-21T02:10:51.970 回答