【问题标题】:Rails request object contains wrong protocolRails 请求对象包含错误的协议
【发布时间】:2012-02-28 21:07:27
【问题描述】:

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

网络浏览器警告说,虽然网站的身份已经过验证并且连接已加密,但该页面包含其他不安全的资源。罪魁祸首是对通过普通 http 制作的 Google Fonts 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"

这两种方法都会导致样式表 url 具有“http://”。

我在 Rails 3.0.5/Passenger 3.0.7/SslRequirement 中成功执行此操作,但无法在 Rails 3.2.1/Passenger 3.0.11/force_ssl 中使用。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 2017-07-05
      • 2013-03-03
      • 1970-01-01
      • 2023-03-03
      相关资源
      最近更新 更多