部署 rails3 中使用 SSL 的问题 (在 nginx 下)

arthur_h · 2012年08月23日 · 最后由 Arthur_h 回复于 2012年08月23日 · 3050 次阅读

我用 ssl_requirement 按照 github 上的用法指定了需要使用 ssl 的 acrtion,但是游览器报无限跳转的错误 (估计是在 http 的 80 和 https 的 443 之间回来跳转),有人知道是不是 nginx 力也需要配置什么才能让 gem 正常工作?

现在我先用 nginx 的 rewrite 把 80 的特定请求跳到 443 下,但是好像 80 下所保存的 session 在 443 里无法获取成功,请问这种问题有哪位朋友解决过吗?

http {
    passenger_root /xxx/.rvm/gems/ruby-1.9.3-p125/gems/passenger-3.0.15;
    passenger_ruby /xxx/.rvm/wrappers/ruby-1.9.3-p125/ruby;

    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

server {
        listen       80;
        server_name  localhost;
        root /xxx/xxx/public;
        passenger_enabled on;
        #rails_env production;
        rails_env development;

        error_page   500 502 503 504  /50x.html;

        rewrite ^/cart/(.*)$ https://$server_name/cart/$1 permanent;

    }

    server {
        listen       443;
        server_name  localhost;

        ssl                  on;
        ssl_certificate      /opt/nginx/conf/server.crt;
        ssl_certificate_key  /opt/nginx/conf/server.key;

        root /Users/xxxx/public;
        passenger_enabled on;
        rails_env development;  
    }
}

顶一下~忘记了初来乍到先打个招呼~上海 rails 新手一名~

需要 登录 后方可回复, 如果你还没有账号请 注册新账号