Proxy HTTP frente a proxy HTTPS: qué significa la etiqueta
Distingue un proxy HTTP que crea túneles hacia sitios HTTPS de un proxy HTTPS que cifra la conexión al propio proxy.
Utiliza el esquema que indique la documentación del puerto de escucha del proxy. Al elegir candidatos de la lista de proxies HTTP, confirma ese esquema antes de configurar el cliente. Un sitio HTTPS puede usar http://proxy.example:8080; cambiar ese valor por https:// solicita otro tipo de conexión con el proxy.
| URL del proxy | URL del sitio | Conexión |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | HTTP sin cifrar hacia el proxy y el destino. |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT hacia el proxy y, después, TLS con el destino a través del túnel. |
https://proxy.example:8443 | https://example.com/ | TLS con el proxy; el túnel hacia el destino viaja dentro de esa conexión. |
Para un puerto de escucha HTTP convencional que permita CONNECT, esta configuración es coherente:
curl --proxy http://127.0.0.1:8080 https://example.com/La negociación TLS con el sitio tiene lugar después de que el proxy acepte el túnel. Si cambias la URL del proxy a https://, pero este solo acepta HTTP sin cifrar, la negociación TLS con el proxy puede fallar antes de contactar con el sitio.
Qué aporta TLS en la conexión al proxy
Un proxy con TLS protege el enlace entre el cliente y el proxy, incluidos el intercambio CONNECT y la autenticación del proxy, frente a observadores pasivos en ese trayecto. El operador del proxy sigue gestionando la conexión y conoce el destino del túnel. Tanto el cliente como el puerto de escucha deben admitir este modo:
curl --proxy https://proxy.example:8443 https://example.com/Usa el nombre de host real del servicio; su certificado debe coincidir con ese nombre y ser de confianza. Las restricciones de destinos y puertos siguen vigentes.
Con HTTPS en ambos lados, hay dos verificaciones de certificados. curl permite configurarlas por separado:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert establece la confianza para el proxy; --cacert la establece para el destino. Si hace falta, utiliza los paquetes de certificados proporcionados por el administrador; la configuración de confianza del sistema puede ser suficiente. Antes de cambiar cualquiera de las dos, identifica qué negociación falló.
La etiqueta «HTTPS» de una lista de proxies puede significar únicamente que el punto de conexión superó una prueba CONNECT. Si la lista no explica la prueba, esa etiqueta por sí sola no permite saber si el puerto de escucha espera http:// o https://.