node.js websocket socket.io google-compute-engine

node.js - Permitir WebSockets en Google Compute Engine(GCE)



socket.io google-compute-engine (2)

No puede usar el dominio myapp-socket.appspot.com en su secuencia de comandos cuando usa WebSockets. En su lugar, deberá usar la IP externa de la instancia de GCE y conectarse directamente a eso, abriendo todos los puertos de firewall que pueda estar usando.

Creo que el tráfico que va al dominio de appspot.com también pasa por los servidores web frontend y socket.io necesita una conexión directa con el servidor.

Estoy usando Compute Engine (GCE) para ejecutar mi servidor de socket con Socket.IO (Node.js)

Solo funciona con encuestas. Cuando trato de usar un cliente web, recibo este código de error:

WebSocket connection to ''ws://myapp-socket.appspot.com/socket.io/?EIO=3&transport=websocket&sid=Tt4uNFR2fU82zsCIAADo'' failed: Unexpected response code: 400

¿Qué estoy haciendo mal? ¿Es un problema de configuración de GCE?


Las máquinas virtuales en Google Compute Engine tienen el puerto 80 para http y el puerto 443 para https. El uso de estos puertos para sockets web resolvió el problema.