我的设置是cloudflare -> nginx -> node.js服务器。我确认这不是node.js服务器的问题,问题似乎是cloudflare和nginx的组合。只有nginx和node.js时它运行得很好。
以下是websocket连接的nginx日志: 162.158.75.125 - - [29/Oct/2016:00:01:47 +0000] "GET / HTTP/1.1" 101 1047 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"
nginx配置:
以下是websocket连接的nginx日志: 162.158.75.125 - - [29/Oct/2016:00:01:47 +0000] "GET / HTTP/1.1" 101 1047 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"
nginx配置:
server {
listen 443 ssl;
server_name vectorwar.io;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/key.pem;
location / {
proxy_pass http://localhost:7000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 31104000s;
proxy_connect_timeout 31104000s;
proxy_send_timeout 31104000s;
}
}