我正在尝试为在 Heroku 中托管并使用 CDN Sumo 插件(使用云端 CDN)的 Rails3 应用程序配置 font-awesome。
问题是 Firefox 没有加载字体资源。我认为问题出在 Firefox 中的“Access-Control-Allow-Origin”问题。但是我无法通过使用 font_assets gem 或在 Cloudfront 中设置 CORS 策略来修复它(我无法访问它,因为我使用的是 CDN Sumo 插件)。
任何想法?
谢谢!
我正在尝试为在 Heroku 中托管并使用 CDN Sumo 插件(使用云端 CDN)的 Rails3 应用程序配置 font-awesome。
问题是 Firefox 没有加载字体资源。我认为问题出在 Firefox 中的“Access-Control-Allow-Origin”问题。但是我无法通过使用 font_assets gem 或在 Cloudfront 中设置 CORS 策略来修复它(我无法访问它,因为我使用的是 CDN Sumo 插件)。
任何想法?
谢谢!
确保Access-Control-Allow-Origin
Header 由托管字体的服务器设置。
如果您需要更改它,您可以通过 CDN Sumo 仪表板配置您的源服务器。
CDN Sumo 目前不支持自定义 CORS 策略。
作为参考,这些链接可能有用:
我刚刚发现了开箱即用的支持 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 处理其余资产。
Heroku 上的 Rails 3 应用程序也有同样的问题;Font-Awesome 图标没有显示,因为我通过 Sumo CDN 运行我的资产。
有几个与此相关的回复,其中之一是在您的 application_controller 中放置一个 after_filter 以设置标头值(通过 freemanoid),但这对我不起作用,我不得不使用 Peter Marklund 建议的自定义中间件.
两种解决方案都在 Rails 3.1 版本下发布: 如何在 webrick 中设置 access-control-allow-origin 在 rails 下?