Túnel HTTP


El túnel HTTP se utiliza para crear un enlace de red entre dos computadoras en condiciones de conectividad de red restringida, incluidos firewalls , NAT y ACL , entre otras restricciones. El túnel es creado por un intermediario llamado servidor proxy que generalmente se encuentra en una DMZ .

La tunelización también puede permitir la comunicación mediante un protocolo que normalmente no sería compatible con la red restringida.

La forma más común de tunelización HTTP es el método HTTP CONNECT estandarizado . [1] [2] En este mecanismo, el cliente solicita a un servidor proxy HTTP que reenvíe la conexión TCP al destino deseado. A continuación, el servidor procede a realizar la conexión en nombre del cliente. Una vez que el servidor ha establecido la conexión, el servidor proxy continúa enviando el flujo TCP desde y hacia el cliente. Solo la solicitud de conexión inicial es HTTP; después de eso, el servidor simplemente envía la conexión TCP establecida.

Este mecanismo es cómo un cliente detrás de un proxy HTTP puede acceder a sitios web utilizando SSL o TLS (es decir, HTTPS). Los servidores proxy también pueden limitar las conexiones al permitir solo las conexiones al puerto HTTPS predeterminado 443, incluir hosts en la lista blanca o bloquear el tráfico que no parece ser SSL.

El cliente se conecta al servidor proxy y solicita la tunelización especificando el puerto y la computadora host a la que le gustaría conectarse. El puerto se utiliza para indicar el protocolo que se solicita. [3]

Si se permitió la conexión y el proxy se ha conectado al host especificado, el proxy devolverá una respuesta de éxito 2XX. [3]