nodejs - ¿Los websockets html5 quedarán paralizados por los firewalls?
websocket server (3)
Dado que los cortafuegos generalmente solo hacen cumplir las reglas para el rechazo de tráfico entrante y el enrutamiento de tráfico saliente (generalmente a través del servidor proxy), generalmente no hay problemas específicos de cortafuegos relacionados con el tráfico WebSocket.
Los servidores proxy (y, en cierta medida, ciertos enrutadores de balanceo de carga también) son una cuestión diferente (ver ¿Por qué las implementaciones actuales del cliente websocket no admiten proxies? )
Estoy muy entusiasmado con las especificaciones de websockets de html5, pero me preocupa.
En estos días, todos operan fuera de alguna red, con enrutadores (cableados / inalámbricos) que tienen firewalls incorporados, Windows también tiene un firewall incorporado.
Teniendo esto en cuenta cuando el servidor intente conectarse nuevamente al navegador que inició el protocolo de enlace websocket, ¿fallará para la gran mayoría de los usuarios? (la mayoría de las personas no tienen idea de cómo configurar el reenvío de puertos en sus enrutadores)
¿O mi forma de pensar es incorrecta y todo irá bien?
HTML 5 WebSockets no requieren reenvío de puerto. Las conexiones se continúan estableciendo desde el cliente, pero la asimetría del cliente y del servidor desaparece una vez que se establece la conexión. WebSockets también perfora proxies utilizando el mismo mecanismo CONNECT que HTTPS utiliza hoy en día.
No soy un experto (así que compruebe para confirmar) pero creo que habrá un mecanismo de ACTUALIZACIÓN donde se puede hacer una conexión HTTP regular, y luego actualizar a un WebSocket, para que no interfieran reglas de firewall existentes a menos que estén haciendo un nivel de aplicación agresivo inspección de paquetes Las conexiones aún son iniciadas por el navegador.