相关疑难解决方法(0)

使用nginx,nodejs和socket.io,WebSocket连接失败

我尝试用nginx设置nodejs.但是当客户端尝试连接时,它失败了......

WebSocket connection to 'ws://www.mydomain.com/socket.io/1/websocket/KUv5G...' failed: Error during WebSocket handshake: 'Connection' header value is not 'Upgrade': keep-alive socket.io.js:2371
Run Code Online (Sandbox Code Playgroud)

那么如何启用websocket通信?

我目前的nginx配置

  upstream mynodejsapp {
    server 127.0.0.1:3000 max_fails=0 fail_timeout=10s weight=1;
    ip_hash;
    keepalive 512;
  }
  server {
    listen 80;
    listen [::]:80 default_server ipv6only=on;
    index index.html;
    server_name mydomain.com www.mydomain.com;
    keepalive_timeout 10;
    gzip on;
    gzip_http_version 1.1;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_buffers 16 8k;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    location / {    
      proxy_pass http://mynodejsapp;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host; …
Run Code Online (Sandbox Code Playgroud)

nginx handshaking websocket node.js socket.io

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

handshaking ×1

nginx ×1

node.js ×1

socket.io ×1

websocket ×1