CURLOPT_CONNECT_TO cambia el host y el puerto a los que libcurl se conecta para un destino coincidente. No hace que el punto final alternativo hable HTTP CONNECT ni SOCKS.

El nombre de host original sigue aportando la identidad del protocolo de aplicación y de TLS. Esto resulta útil cuando se alcanza deliberadamente otra instancia de servidor del mismo servicio. En cambio, un escucha de proxy arbitrario espera su propio handshake de proxy, no los bytes sin procesar de la aplicación.

Combinar la asignación con un proxy HTTP

Configure el proxy HTTP por separado. Una ruta HTTP sin credenciales hacia un servicio público puede usar un punto final de la lista de proxies HTTP cuando ese intermediario está permitido; no se debe enviar ninguna cuenta de proxy existente al candidato. libcurl documenta que una asignación connect-to distinta puede entonces pasar la solicitud a modo túnel: el proxy abre la conexión al destino asignado. La asignación elige qué se alcanza a través del proxy; no ha reemplazado la configuración del proxy.

Mantenga tres valores distintos: el nombre del servicio previsto, el punto final de conexión alternativo y el punto final del proxy. Elija cada opción para su función real y conserve la verificación normal del nombre TLS para el servicio.

Si el propio puerto del proxy rechaza conexiones, otra opción que apunte a ese mismo escucha ausente no puede arreglar el primer salto. Resuelva ese fallo del escucha o de la ruta antes de cambiar la asignación de destino.

Artículos relacionados