我用 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;
}
}