Il metodo HTTP CONNECT spiegato
CONNECT è il metodo HTTP che consente a HTTPS di funzionare attraverso un proxy. Invece di recuperare una pagina, chiede al proxy di aprire un tunnel grezzo verso una destinazione in modo che il traffico crittografato possa passare indisturbato. Questa guida spiega come funziona CONNECT, passo dopo passo.
Perché esiste CONNECT
Un normale proxy HTTP funziona leggendo la tua richiesta, recuperando la risorsa e restituendola — vede e inoltra l'intera richiesta e risposta. Questo va bene per HTTP semplice, ma si interrompe per HTTPS: il punto principale di TLS è che nessun intermediario può leggere il traffico, quindi il proxy non può semplicemente "recuperare la pagina" per tuo conto senza rompere la crittografia.
Il metodo CONNECT risolve questo. Invece di chiedere al proxy di recuperare qualcosa, il tuo client chiede al proxy di aprire un tunnel TCP grezzo verso un host e una porta e poi farsi da parte. Una volta che il tunnel è aperto, il tuo client esegue il handshake TLS direttamente con la destinazione attraverso il proxy, e il proxy inoltra ciecamente i byte crittografati in entrambe le direzioni. Il proxy non vede mai il testo in chiaro — vede solo un flusso opaco e, tramite la linea CONNECT e TLS SNI, il nome host di destinazione. Questo è il modo in cui il s4m proxy HTTP sulla porta 3128 gestisce HTTPS.
Come viene stabilito il tunnel
Il flusso è breve e specifico:
- Il tuo client invia
CONNECT example.com:443 HTTP/1.1al proxy, con un'intestazioneHoste, se necessario, credenziali diProxy-Authorization. - Il proxy apre una connessione TCP a
example.com:443. - Se ha successo, il proxy risponde
HTTP/1.1 200 Connessione Stabilita. Da questo momento la connessione è un tunnel nudo — niente più semantica HTTP. - Il tuo client ora esegue il handshake TLS direttamente con example.com attraverso quel tunnel, e tutti i dati applicativi successivi sono crittografati end-to-end.
Ne derivano due conseguenze. Prima di tutto, TLS rimane veramente end-to-end: il proxy non autentica nulla e non legge nulla all'interno del tunnel, quindi la validazione del certificato avviene tra il tuo client e il server reale. In secondo luogo, poiché CONNECT apre solo un tunnel TCP, i proxy possono in linea di principio tunnelizzare altri protocolli basati su TLS o arbitrari su altre porte — ed è esattamente per questo che i proxy di solito limitano CONNECT alla porta 443 (e a poche altre) per evitare di diventare un relay aperto.
Vedi CONNECT con curl
curl invia automaticamente CONNECT per un URL https:// tramite un proxy HTTP. Usa -v per osservare la richiesta CONNECT e la risposta '200 Connection Established'.
# Verbose: watch the CONNECT handshake to the proxy, then TLS to the site curl -v -x http://USER:PASS@proxy.s4m.online:3128 https://example.com 2>&1 \ | grep -Ei 'CONNECT|Connection established|SSL connection|Proxy-Auth' # You'll see, in order: # > CONNECT example.com:443 HTTP/1.1 (client asks for a tunnel) # < HTTP/1.1 200 Connection established (proxy opened the tunnel) # * SSL connection using TLSv1.3 ... (TLS is end-to-end, past proxy) # Contrast: plain HTTP needs no tunnel; the proxy relays the request itself: curl -v -x http://USER:PASS@proxy.s4m.online:3128 http://example.com 2>&1 \ | grep -Ei 'GET http|absolute'
Domande, risposte
Cosa fa il metodo HTTP CONNECT?
Richiede a un proxy di aprire un tunnel TCP raw a un host e una porta di destinazione, piuttosto che recuperare una risorsa. Una volta che il proxy risponde 200 Connection Established, il client tunnelizza il proprio handshake TLS e i dati crittografati direttamente alla destinazione, e il proxy si limita a inoltrare i byte opachi. È così che funziona HTTPS attraverso un proxy HTTP.
Il proxy può leggere il mio traffico HTTPS durante un tunnel CONNECT?
No. Dopo che il tunnel si apre, TLS viene negoziato end-to-end tra il tuo client e il server di destinazione, quindi il proxy vede solo byte crittografati. Può vedere il nome host e la porta di destinazione dalla riga CONNECT e TLS SNI, ma non i contenuti — a meno che non esegua l'intercettazione TLS con un certificato di cui il tuo dispositivo si fida.
Perché i proxy limitano il CONNECT alla porta 443?
Poiché CONNECT apre un tunnel TCP arbitrario, un proxy senza restrizioni potrebbe inoltrare qualsiasi protocollo a qualsiasi porta e diventare un relay aperto per abusi. Limitare CONNECT a 443 (e talvolta a una breve lista di autorizzazione) lo confina al normale HTTPS impedendo al proxy di essere utilizzato per tunnelare servizi non correlati.
Un proxy HTTP che tunnelizza HTTPS
Il proxy HTTP autenticato di s4m sulla porta 3128 gestisce CONNECT in modo che HTTPS rimanga crittografato end-to-end, insieme a SOCKS5 su 1080. Misurato pay-as-you-go, account anonimi, criptovaluta accettata.
Le persone hanno trovato questa pagina cercando
- il metodo HTTP CONNECT spiegato
- come configurare indirizzo ip
- indirizzo ip passo dopo passo
- impostazione del proxy Puppeteer con autenticazione
- proxy socks5 passo dopo passo
- openvpn per windows
- proxy per scraping spiegato
- come configurare WireGuard VPN, passo dopo passo
- che cos'è proxy http
- autenticazione proxy
- configurazione del proxy per paese
- proxy dei datacenter vs residenziali vs mobili
- wireguard spiegato
- Impostazioni configurazione del proxy
- configurazione del proxy
Frasi di ricerca reali a cui questa pagina risponde — i collegamenti aprono la pagina che le tratta in dettaglio.