【问题标题】:Rails 2.3 is not using right protocol ssl when using resource_urlRails 2.3 在使用 resource_url 时没有使用正确的协议 ssl
【发布时间】:2015-09-25 16:47:20
【问题描述】:

在 Rails 2.3 应用程序上,我有这个简单的代码

redirect_to resource_url(resource)

我使用 SSL 连接 (https) 发出请求,但它重定向到非 SSL 版本 (http)

我查了一下,resource_url 正在抛出没有 ssl 的 http。

Rails 如何知道协议是否为 https?我的设置使用 Nginx 和 3 个带有负载均衡器的杂种。

我想知道问题是否在于我的 mongrel 实例使用 http。

有没有办法让 mongrel 实例知道与 nginx 的连接是通过 ssl 连接的?

这真的是我的问题吗?

【问题讨论】:

    标签: ruby-on-rails ssl


    【解决方案1】:

    这是因为 nginx 配置了负载均衡器。基本上浏览器与 Nginx 建立 SSL 连接,但 nginx 通过 http 与 mongrel 实例建立内部连接,他们不知道原始连接是否通过 SSL。

    解决方案是将其添加到 nginx 配置中

     proxy_set_header X-Forwarded-Proto $scheme;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 2011-05-01
      相关资源
      最近更新 更多