Recientemente comencé a enfrentar este problema en Chrome, donde no puedo conectarme a un websocket que está alojado en un dominio diferente.
Ejemplo de caso de uso:
Considere un dominio que tiene un balanceador de carga -> lb.com con dos centros de datos -> lb-dc1 y lb-dc2. La página de la aplicación está alojada en lb.com pero el código en esta página creará un socket web conexión a lb-dc1 o lb-dc2.
Esto funciona bien en Firefox/Safari, pero esta conexión falla en Chrome.
También puedes ver este comportamiento uno
https://www.websocket.org/echo.html
Donde la conexión del zócalo de prueba fallará en Chrome (estoy usando la última versión 91.0) mientras que funcionará en Firefox.
Tengo un proxy nginx para pasar la solicitud de WSS... se parece a esto
location /socket { proxy_pass http://<my-service>:8080/socket; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_buffering off; proxy_ignore_client_abort off; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_read_timeout 86400; break; }