CloudFront 无法加载我的超赞字体 rails 4

CloudFront doesn't load my font-awesome rails 4

我的 rails 应用程序有问题,我决定将我的资产转移到 AWS 中的 cloudfront 之类的 CDN。现在一切都好起来了。我的资产速度更快,但我遇到了问题:我正在为应用程序中的某些图标使用 font-awesome gem,但由于更改为 CloudFront,它们无法加载。

我的应用程序在 heroku 上,带有用于资产的 CloudFront。我在生产环境中的配置是:

# config/environments/production.rb
  config.action_controller.asset_host = "<YOUR DISTRIBUTION SUBDOMAIN>.cloudfront.net"

我希望能对此有所帮助,因为我找不到答案

问候!

如果您现在从不同域加载字体,大多数浏览器将应用 Cross-Origin 资源共享限制 - 也就是说,大多数浏览器不会从不同域加载文件,除非CORS 策略。

您可以将要由 any-domain 加载的字体列入白名单,方法是首先让 CloudFront 从中提供服务的网络服务器发送以下响应 header:

Access-Control-Allow-Origin: "*"

其次,您需要进入您的 CloudFront 配置并将 "Access-Control-Allow-Origin" header 列入白名单,以便从您的网络服务器传递到 end-user。

可在此处找到有关 CORS 的更多阅读资料: