Nginx https不重定向到mongrel上游

Nginx https不重定向到mongrel上游,nginx,Nginx,正常的http在我使用nginx和mongrel时运行良好,但是当我尝试使用https时,我会被引导到欢迎使用nginx页面 http { # passenger_root /opt/passenger-2.2.11; # passenger_ruby /usr/bin/ruby1.8; include mime.types; default_type application/octet-stream; #log_format main '$remote_ad

正常的http在我使用nginx和mongrel时运行良好,但是当我尝试使用https时,我会被引导到欢迎使用nginx页面

 http {
#    passenger_root /opt/passenger-2.2.11;
#    passenger_ruby /usr/bin/ruby1.8;

include       mime.types;
default_type  application/octet-stream;

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;

sendfile        on;
#tcp_nopush     on;

#keepalive_timeout  0;
keepalive_timeout  65;

 upstream mongrel {
     server 00.000.000.000:8000;
     server 00.000.000.000:8001;
 }

   server {
    listen       443;
     server_name domain.com;


    ssl                  on;
    ssl_certificate      /etc/ssl/localcerts/domain_combined.crt;
    ssl_certificate_key  /etc/ssl/localcerts/www.domain.com.key;


   #    ssl_session_timeout  5m;

#    ssl_protocols  SSLv2 SSLv3 TLSv1;
#    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
#    ssl_prefer_server_ciphers   on;

    location / {
        root   /current/public/;
         index  index.html index.htm;

     proxy_set_header X_FORWARDED_PROTO https;
       proxy_set_header  X-Real-IP        $remote_addr;
  proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
  proxy_set_header  Host             $http_host;
  proxy_redirect    off;
  proxy_pass        http://mongrel;

    }
}

}
您是否有端口80的显式服务器条目?可能是nginx默认指令正在拦截常规HTTP流量

添加另一个服务器块以确保:

server {
  listen 80; 
  server_name domain.com www.domain.com;

  rewrite ^(.*) https://domain.com$1 permanent;  
}

这将把你的应用程序的所有流量重定向到https,即使这不是你最终想要的,至少你知道你缺少了非https块,然后你可以用你需要的指令来替换它。

如果有人有这个问题,我很喜欢答案。