Používajte schému uvedenú v dokumentácii počúvajúceho rozhrania proxy. Pri výbere kandidátov zo zoznamu HTTP proxy overte túto schému ešte pred nastavením klienta. Web HTTPS môže používať http://proxy.example:8080; zmenou tejto hodnoty na https:// požadujete iný druh spojenia s proxy.

URL proxyURL webuSpojenie
http://proxy.example:8080http://example.com/Nešifrované HTTP k proxy aj k cieľu.
http://proxy.example:8080https://example.com/HTTP CONNECT k proxy a potom TLS k cieľu cez tunel.
https://proxy.example:8443https://example.com/TLS k proxy; tunel k cieľu sa prenáša vnútri tohto spojenia.

Pre bežné počúvajúce rozhranie HTTP, ktoré povoľuje CONNECT, je toto nastavenie konzistentné:

curl --proxy http://127.0.0.1:8080 https://example.com/

TLS handshake s webom prebehne až po tom, čo proxy prijme tunel. Ak zmeníte URL proxy na https://, ale rozhranie rozumie iba nešifrovanému HTTP, vyjednávanie TLS s proxy môže zlyhať ešte pred kontaktovaním webu.

Čo pridáva TLS na úseku k proxy

Proxy s podporou TLS chráni spojenie medzi klientom a proxy vrátane výmeny CONNECT a overovania totožnosti na proxy pred pasívnym odpočúvaním na tejto trase. Prevádzkovateľ proxy naďalej spracúva spojenie a pozná cieľ tunela. Tento režim musia podporovať klient aj počúvajúce rozhranie:

curl --proxy https://proxy.example:8443 https://example.com/

Použite skutočný názov hostiteľa služby. Certifikát mu musí zodpovedať a musí byť dôveryhodný. Obmedzenia cieľov a portov zostávajú v platnosti.

Pri HTTPS na oboch stranách prebiehajú dve kontroly certifikátov. curl umožňuje nastaviť ich oddelene:

curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/

--proxy-cacert určuje dôveru pre proxy, --cacert pre cieľ. Podľa potreby použite balíky certifikátov od správcu; systémové nastavenia dôvery už môžu stačiť. Pred zmenou ktoréhokoľvek nastavenia zistite, ktorý handshake zlyhal.

Označenie „HTTPS“ v zozname proxy môže znamenať iba to, že koncový bod prešiel testom CONNECT. Ak zoznam nevysvetľuje svoj test, samotné označenie nehovorí, či počúvajúce rozhranie očakáva http:// alebo https://.

Súvisiace články