我使用Cloudfront从cdn.myapp.com提供字体。
我正在使用font_assets gem,它帮助我发送CORS头文件,让我的字体在Firefox中被接受(等等)。
我最近把我的networking服务器移到了Phusion Passenger上,我对此非常满意(速度!)。
但是自从我迁移以来,我无法发送这些头文件,我怀疑Nginx是负责的。
Heroku上的Rails + Passenger:如何在静态资源的HTTP头文件中设置终止date或最大年龄?
用于Ruby on Rails产品服务器之前错误安装的Nginx
乘客列出所有文件,而不是运行我的Rails应用程序
Google Chrome不会在Facebook“canvas”标签页应用程序中执行POST
如何在Heroku上使用Phusion自定义标题? 我可以从heroku访问Nginxconfiguration,还是有另一个configuration来设置?
感谢你的支持!
删除:'/etc/apt/sources.list.d/passenger.list'
Phusion Passenger + Nginx虚拟主机configuration,适用于Debian 6中的Ruby on Rails应用程序
sudo:rvm:command not found – RVM MultiUser安装在Ubuntu 12.04服务器上
rufus调度程序不在生产中运行
我尝试使用rack-cors宝石,但它花了我一段时间才注意到,尽管使用Heroku的Rails 12 Factor Gem Phusion Passenger 5.0.10(Nginx)服务的资产。
只是为了将来的参考,基于@ user664833的解决方案 ,这里是我的设置,运行在Heroku上托管的Rails 4.2应用程序,Phusion Passenger作为服务器,Amazon Cloudfront作为CDN,使用cdn.my-domain.com作为CNAME进行分发和限制仅针对my-domain.com子域的GET和HEAD请求:
# config/Nginx.conf.erb location @static_asset { gzip_static on; expires max; add_header Cache-Control public; add_header ETag ""; # added configuration for CORS for font assets if ($http_origin ~* ((https?://[^/]*.my-domain.com(:[0-9]+)?)) { add_header 'Access-Control-Allow-Origin' "$http_origin"; add_header 'Access-Control-Allow-Credentials' 'true'; # only needed for SSL add_header 'Access-Control-Allow-Methods' 'GET,HEAD'; add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With'; } # end of added configuration }
我编辑了缓存行为,将Origin标头列入白名单。
并将原始设置(原始选项卡)更改为Match viewer (如果您想使用SSL)。
最后,在Invalidations选项卡中创建一个失效(如果是新配置,则不需要这样做),使用/*清除所有内容。
希望这样可以节省时间。
从现在起,在应用程序配置中没有这个选项。
本次讨论: https : //groups.google.com/forum/#!topic/ phusion-passenger/ nskVxnxFssA解释说,这将在不久的将来成为可能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。