我正在尝试为Heroku中托管的Rails3应用程序配置font-awesome并使用CDN Sumo插件(使用cloudfront CDN)。
问题是Firefox没有加载字体资产。我认为问题是Firefox中的“Access-Control-Allow-Origin”问题。但我无法通过使用font_assets gem或在Cloudfront中设置CORS策略来修复它(我无法访问它,因为我正在使用CDN Sumo插件)。
有什么想法吗?
谢谢!
答案 0 :(得分:5)
确保Access-Control-Allow-Origin
标题由托管字体的服务器设置。
如果需要更改原始服务器,可以通过CDN Sumo仪表板配置原始服务器。
CDN Sumo目前不支持自定义CORS策略。
作为参考,这些链接可能很有用:
答案 1 :(得分:2)
我刚刚发现支持开箱即用的CORS的优秀(和免费)CDNJS(由Cloudflare提供支持)。
对于Rails应用程序,在布局文件中添加字体很棒的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用于其余资产。
答案 2 :(得分:1)
我在Heroku上使用Rails 3应用程序遇到了同样的问题; Font-Awesome图标没有显示,因为我通过Sumo CDN运行我的资产。
有几个与此相关的回复,其中一个是在你的application_controller中设置一个after_filter来设置标题值(通过freemanoid),但这对我不起作用,我不得不使用建议的自定义中间件作者:Peter Marklund。
这两个解决方案都在Rails 3.1版本下发布: How to set access-control-allow-origin in webrick under rails?