自我托管的Smee服务器-将HTTP重定向到HTTPS

时间:2019-06-18 07:38:29

标签: node.js nginx-reverse-proxy

我正在尝试将project部署在具有自签名SSL的自托管服务器上。
使用NGINX反向代理进行HTTP-> HTTPS重定向。
服务器部分工作,例如,通道无法连接到“事件流”。

请参阅打印屏幕:
Event stream Error

我们的NGINX设置有什么问题?!

在调试服务器时,我发现defineGetter返回HTTP协议,尽管事实是我们在反向代理后面运行:

request.js debug printscreen

我在运行npm start之前添加了环境变量:

export NODE_TLS_REJECT_UNAUTHORIZED=0  

查看我们的NGINX设置:

server {
            listen              443 ssl;
            server_name         servername;
            ssl_certificate     /tmp/ssl_key/crt/servername.crt;
            ssl_certificate_key /tmp/ssl_key/crt/servername.rsa;
            ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers         HIGH:!aNULL:!MD5;
            #...

            location / {
                proxy_pass http://localhost:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                proxy_redirect      http:// https://;
                }
        }

1 个答案:

答案 0 :(得分:0)

从客户端访问期间,根本原因是“事件源无响应”。
通过更改NGINX反向代理设置来解决。
基于该帖子EventSource / Server-Sent Events through Nginx

我们新的NGINX设置是:

 location / {
                proxy_pass http://localhost:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection '';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
                proxy_redirect      http:// https://;
                chunked_transfer_encoding off;
                proxy_buffering off;
                proxy_cache off;
                }