我正在尝试将project部署在具有自签名SSL的自托管服务器上。
使用NGINX反向代理进行HTTP-> HTTPS重定向。
服务器部分工作,例如,通道无法连接到“事件流”。
我们的NGINX设置有什么问题?!
在调试服务器时,我发现defineGetter
返回HTTP协议,尽管事实是我们在反向代理后面运行:
我在运行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://;
}
}
答案 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;
}