We have just been setting up nginx as a reverse proxy for a node server. Everything worked fine except the socket.io connections weren’t making it through.
You make a reverse proxy with:
location / { proxy_pass http://localhost:1025/; }
However to make nginx (version 1.3.13 +) reverse proxy socket.io you should add change your configuration to:
location / { proxy_pass http://localhost:1025/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; }
I learnt this from Chris Lea’s blog which is excellent. Also thank you Chris Lea for your excellent ppa’s.