Express nginx反向代理到https?

Express nginx反向代理到https?,express,nginx,Express,Nginx,这是我的配置: 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 htt

这是我的配置:

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时,我确实会被重定向到,但是请求从未从nginx到达我的节点服务器。如果直接转到端口,则节点服务器正在运行并显示


有什么想法吗?

您的nginx conf文件可能有问题

proxy_set_header   Host             $proxy_host;
它应该有

proxy_set_header   Host             $host;

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

结果表明,我需要ssl_证书和ssl_证书密钥才能使其正常工作。我在任何地方都没有看到这一点,所以可能有一些设置否定了这一点,但这解决了它。

尝试过。没有变化。这是我的nginx.conf文件:顺便问一下,有没有理由在本地主机连接中增加SSL开销?我想不出来。我的问题是,我正在使用nginx替换一个简单的节点代理,而我的代理在将ssl内容交给我的主express应用程序之前。由于nginx本身处理ssl,我可能应该将我的express应用程序切换为不使用ssl,是吗?这取决于具体情况。可能ssl开销不值得努力移除。