HTTP CONNECT: como xestiona HTTPS un proxy HTTP
Segue unha petición HTTPS a través dun proxy HTTP, distingue a resposta CONNECT da do servidor de orixe e localiza onde falla o túnel.
«200 Connection Established» significa que o proxy acepta un túnel. O sitio web aínda non devolveu ningunha páxina. Despois vén TLS co destino e, a continuación, a petición HTTPS propiamente dita.
Da conexión co proxy á resposta do sitio
- O cliente conéctase ao punto de acceso do proxy.
- Pídelle ao proxy que se conecte a un host e un porto de destino.
- O proxy acepta ou rexeita esa solicitude.
- Tras a aceptación, o cliente negocia TLS co destino a través do túnel.
- O cliente envía a petición HTTPS e recibe a resposta do sitio dentro de TLS.
Unha conexión rexeitada co proxy, un túnel denegado e un erro de certificado ocorren en puntos distintos desta secuencia. Localiza o último paso completado antes de cambiar a configuración.
O intercambio CONNECT
En HTTP/1.1, un intercambio simplificado é así:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
O destino da petición é un host e un porto, sen a ruta nin os parámetros de consulta do sitio. Tras unha resposta CONNECT correcta, a conexión transporta os bytes do túnel. Para un destino HTTPS, o seguinte intercambio do cliente é a negociación TLS.
Le o código numérico en lugar de buscar unha coincidencia coa frase explicativa en inglés. Os proxys poden usar textos distintos para o mesmo estado.
Observalo con curl
Para un proxy HTTP no porto local 8080:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Substitúe o enderezo de escoita polo teu punto de acceso; se precisas candidatos, consulta a lista de proxys HTTP e proba a entrada escollida. A lista de excepcións baleira garante que esta chamada seleccione o proxy. Busca, por orde cronolóxica, a conexión co proxy, a resposta CONNECT, a verificación do certificado do destino e a resposta do sitio. O texto exacto do rexistro depende da compilación de curl.
O destino pode devolver 404, 429 ou 500 despois de que o proxy acepte o túnel. Tamén pode fallar durante TLS, antes de devolver calquera resposta HTTP.
Onde parou?
| Observación | Que revisar despois |
|---|---|
| Rexéitase a conexión co proxy | Enderezo do proxy, porto de escoita, proceso e acceso á rede. |
| O proxy devolve 407 | A conta do proxy e o esquema de autenticación. |
| O proxy rexeita un destino ou un porto | Política de acceso e destinos CONNECT permitidos. |
| O túnel ábrese e despois falla a verificación TLS | Nome do destino, almacén de confianza, reloxo e calquera interceptación TLS xestionada. |
| TLS ten éxito e o sitio devolve un erro | A resposta do sitio. |
Para comparar, mantén un lado fixo: proba outro destino co mesmo proxy ou compara o mesmo destino por unha ruta directa permitida.
O túnel segue tendo un operador
O proxy coñece o destino CONNECT e xestiona os tempos e o volume do tráfico. O TLS de extremo a extremo habitual protexe o contido de aplicación do sitio fronte a un proxy que non termina esa sesión TLS. Un proxy de interceptación xestionado no que confía o cliente ten unha relación de confianza diferente.