2014-03-19 7 views
8

ich einen Fehler bekam, als socket.io auf nginx (nginx/1.1.19) auf meinem Server laufensocket.io nginx Konfiguration Fehler bei der WebSocket-Handshake: 'Verbindung' Wert-Header ist nicht 'Upgrade': Keep-Alive-

Fehler bei der WebSocket-Handshake: 'Verbindung' Wert-Header ist nicht 'Upgrade': keep-alive

für meine Website Meine conf-Datei ist:

server{ 
    listen 80; 
    server_name lalala.com; 
    access_log /home/hao/sites/reactjsweekly/accesss.log; 
    error_log /home/hao/sites/reactjsweekly/error.log; 
    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-NginX-Proxy true; 

     proxy_pass http://127.0.0.1:3002/; 
     proxy_redirect off; 

     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 
    } 
} 

socket.io auf der Seite Backend:

var server = http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

var io = require('socket.io').listen(server); 

io.sockets.on('connection', function (socket) { 
socket.emit('info', {data: "lala"}); 



    }); 

}); 

jemand lief in das gleiche Problem vor ???

+2

Sie müssen groß geschrieben werden Ihre Nginx 1.3 oder höher aktualisieren, da diese Antwort vermuten lässt. http://stackoverflow.com/questions/20718245/websocket-connection-failed-with-nginx-nodejs-and-socket-io Wenn das nicht funktioniert, versuchen Sie '' Upgrade "' anstelle von '" upgrade "'. –

+0

Danke, Upgrade auf 1.5 funktioniert !! – haohcraft

Antwort

1

[1] „Seit der Version 1.3.13, nginx implementiert spezielle Betriebsart, die einen Tunneln zwischen einem Client und Proxy-Server, wenn der Proxy-Server eine Antwort mit dem Code 101 (Switching Protocols) zurückgeführt, und der Kunde gebeten, die Einrichtung erlaubt für einen Protokollwechsel über den "Upgrade" -Header in einer Anfrage. "

Ihre Version ist 1.1.19; upgrade und es sollte wie erwartet funktionieren.

0

Mehrere Implementierungen überprüfen Upgrade < < aktiviert.

proxy_set_header Connection "upgrade";

sollte

proxy_set_header Connection "Upgrade";

Verwandte Themen