小编Ste*_*eve的帖子

Firefox 和 Chrome 继续使用 nginx/Passenger 在 Rails 应用程序上强制使用 HTTPS

我在这里遇到了一个非常奇怪的问题,每次我尝试在非 SSL 模式下浏览我的 Rails 应用程序时,Chrome (v16) 和 Firefox (v7) 一直强制我的网站在 HTTPS 中提供服务。

我的 Rails 应用程序使用 Capistrano、nginx、Passenger 和通配符 SSL 证书部署在 Ubuntu VPS 上。

我在 nginx.conf 中为端口 80 设置了这些参数:

            passenger_set_cgi_param HTTP_X_FORWARDED_PROTO http;
            passenger_set_cgi_param HTTPS off;
Run Code Online (Sandbox Code Playgroud)

我的 nginx.conf 的长版本可以在这里找到:https : //gist.github.com/2eab42666c609b015bff

ssl-redirect.include 文件包含:

rewrite ^/sign_up https://$host$request_uri? permanent ;
rewrite ^/login https://$host$request_uri? permanent ;
rewrite ^/settings/password https://$host$request_uri? permanent ;
Run Code Online (Sandbox Code Playgroud)

这是为了确保这三个页面在来自非 SSL 请求时使用 HTTPS。

我的 production.rb 文件包含这一行:

  # Enable HTTP and HTTPS in parallel
  config.middleware.insert_before Rack::Lock, Rack::SSL, :exclude => proc { |env| env['HTTPS'] != …
Run Code Online (Sandbox Code Playgroud)

ssl nginx https ruby-on-rails phusion-passenger

7
推荐指数
2
解决办法
5529
查看次数

标签 统计

https ×1

nginx ×1

phusion-passenger ×1

ruby-on-rails ×1

ssl ×1