2014-12-23 240 views
0

这是我的配置:nginx反向代理到https?

server { 
     listen 80; 
     server_name prettylogs.com; 
     return 301 https://$server_name$request_uri; 
} 

server { 
     listen 443 ssl; 

     server_name prettylogs.com; 
     location/{ 
       proxy_pass https://localhost:9200/; 
     } 
} 

当我访问prettylogs.com,我得到重定向到https://prettylogs.com,但该请求不会到达从nginx的我的节点服务器。如果我直接进入端口,节点服务器正在运行并显示。

任何想法?

+0

顺便说一句,是否有任何理由在本地主机连接有SSL开销? –

+0

不是我能想到的。我的问题是,我使用nginx替换一个简单的节点代理和我的代理,然后将ssl的东西交给我的主要快递应用程序。由于nginx正在处理ssl本身,所以我应该将我的快速应用程序切换为不使用ssl,是吗? – Joren

+0

这取决于。可能是ssl开销不值得努力去除它。 –

回答

1

您的nginx conf文件可能有问题。

proxy_set_header Host    $proxy_host; 

它应该有

proxy_set_header Host    $host; 

尝试使用此更新的配置,您的问题将得到解决。

+0

试过了。不用找了。这是我的nginx.conf文件:https://gist.github.com/Jorenm/7b918c303ff2f71952c2 – Joren

1

原来,ssl_certificate和ssl_certificate_key都需要这个为我工作。我没有在任何地方看到这个,所以可能会有一些否定这一点的设置,但是这固定了它。