HTTP ar HTTPS tarpinis serveris: ką reiškia žyma?
Atskirkite HTTP tarpinį serverį, kuris tuneliu pasiekia HTTPS svetaines, nuo HTTPS tarpinio serverio, šifruojančio ryšį su pačiu tarpiniu serveriu.
Naudokite schemą, nurodytą tarpinio serverio klausytuvo dokumentacijoje. Rinkdamiesi kandidatus iš HTTP tarpinių serverių sąrašo, patikrinkite klausytuvo schemą prieš nustatydami klientą. HTTPS svetainė gali naudoti http://proxy.example:8080; pakeitus šią reikšmę į https://, prašoma kitokio ryšio su tarpiniu serveriu.
| Tarpinio serverio URL | Svetainės URL | Ryšys |
|---|---|---|
http://proxy.example:8080 | http://example.com/ | Nešifruotas HTTP iki tarpinio serverio ir paskirties serverio. |
http://proxy.example:8080 | https://example.com/ | HTTP CONNECT iki tarpinio serverio, tada TLS su paskirties serveriu per tunelį. |
https://proxy.example:8443 | https://example.com/ | TLS iki tarpinio serverio; tunelis į paskirties serverį perduodamas šio ryšio viduje. |
Įprastam HTTP klausytuvui, leidžiančiam CONNECT, ši konfigūracija yra nuosekli:
curl --proxy http://127.0.0.1:8080 https://example.com/TLS ryšio užmezgimas su svetaine vyksta po to, kai tarpinis serveris priima tunelį. Jei tarpinio serverio URL pakeisite į https://, o klausytuvas supranta tik nešifruotą HTTP, TLS derybos su tarpiniu serveriu gali nepavykti dar prieš susisiekiant su svetaine.
Ką papildomai suteikia TLS iki tarpinio serverio
TLS palaikantis tarpinis serveris apsaugo kliento ir tarpinio serverio ryšį, įskaitant CONNECT apsikeitimą ir autentifikavimą tarpiniame serveryje, nuo pasyvaus klausymosi šiame kelyje. Tarpinio serverio operatorius vis tiek tvarko ryšį ir žino tunelio paskirties vietą. Šį režimą turi palaikyti ir klientas, ir klausytuvas:
curl --proxy https://proxy.example:8443 https://example.com/Naudokite tikrąjį paslaugos serverio vardą; sertifikatas turi jį atitikti ir būti patikimas. Paskirties vietų bei prievadų apribojimai lieka galioti.
Kai abiejose pusėse naudojamas HTTPS, atliekamos dvi sertifikatų patikros. curl leidžia jas nustatyti atskirai:
curl --proxy https://proxy.example:8443 --proxy-cacert proxy-ca.pem --cacert origin-ca.pem https://example.com/--proxy-cacert nurodo pasitikėjimą tarpiniu serveriu, o --cacert — paskirties serveriu. Prireikus naudokite administratoriaus pateiktus sertifikatų rinkinius; sistemos pasitikėjimo nustatymų jau gali pakakti. Prieš keisdami bet kurį iš jų nustatykite, kurio TLS ryšio užmegzti nepavyko.
Žyma „HTTPS“ tarpinių serverių sąraše gali reikšti tik tai, kad galinis taškas išlaikė CONNECT bandymą. Jei sąraše nepaaiškinta, kaip tikrinama, vien ši žyma nepasako, ar klausytuvas laukia http://, ar https://.