【问题标题】:CDN Sumo heroku addon and font assetsCDN Sumo heroku 插件和字体资源
【发布时间】:2013-06-08 07:46:54
【问题描述】:

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

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

有什么想法吗?

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 heroku font-face cdn font-awesome


    【解决方案1】:

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

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

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

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

    Setting CORS for rails apps

    Firefox and CORS

    Heroku / CDN / fonts

    【讨论】:

      【解决方案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 处理您的其他资产。

      【讨论】:

        【解决方案3】:

        我在 Heroku 上使用 Rails 3 应用时遇到了同样的问题; Font-Awesome 图标没有显示,因为我通过 Sumo CDN 运行我的资产。

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

        这两种解决方案都在 Rails 3.1 版本下发布: How to set access-control-allow-origin in webrick under rails?

        【讨论】:

          猜你喜欢
          • 2013-03-03
          • 1970-01-01
          • 2015-08-04
          • 2013-02-19
          • 2012-02-23
          • 2020-07-27
          • 2014-07-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多