Rails请求对象包含错误的协议

时间:2012-02-28 21:07:28

标签: ruby-on-rails apache passenger ruby-on-rails-3.2

我在Apache上使用最新的Passenger 3.0.11运行Rails 3.1.2。我正在使用force_ssl在我的一些应用程序的操作中要求安全连接。

Web浏览器警告,虽然已验证站点的身份并且连接已加密,但该页面包含其他不安全的资源。罪魁祸首是对基于普通http的Google字体API的引用。我的观点包含以下内容:

= stylesheet_link_tag "#{request.port}fonts.googleapis.com/css?family=Oswald"

我也试过这个:

= stylesheet_link_tag "http#{request.ssl? ? 's' : ''}://fonts.googleapis.com/css?family=Oswald"

这两个都导致样式表网址具有“http://”。

我在Rails 3.0.5 / Passenger 3.0.7 / SslRequirement中成功完成了这项工作,但无法在Rails 3.2.1 / Passenger 3.0.11 / force_ssl中使用它。

1 个答案:

答案 0 :(得分:1)

将“//fonts.googleapis.com/css?family=Oswald”放在没有http或https的位置 - 这样浏览器使用与您所在页面相同的协议,并且不会显示任何警告。