HTTP CONNECT: sut mae dirprwy HTTP yn trin HTTPS
Dilynwch gais HTTPS drwy ddirprwy HTTP, gwahanwch ymateb CONNECT oddi wrth ymateb y gweinydd gwreiddiol, a chanfod ble mae'r twnnel yn methu.
Mae “200 Connection Established” yn golygu bod y dirprwy'n derbyn twnnel. Nid yw'r wefan wedi dychwelyd tudalen eto. Nesaf daw TLS gyda'r gyrchfan, ac yna'r cais HTTPS ei hun.
O gysylltu â'r dirprwy i ymateb y wefan
- Mae'r cleient yn cysylltu â phwynt terfyn y dirprwy.
- Mae'n gofyn i'r dirprwy gysylltu â gwesteiwr a phorth cyrchfan.
- Mae'r dirprwy'n derbyn neu'n gwrthod y cais hwnnw.
- Ar ôl ei dderbyn, mae'r cleient yn negodi TLS gyda'r gyrchfan drwy'r twnnel.
- Mae'r cleient yn anfon y cais HTTPS ac yn derbyn ymateb y wefan o fewn TLS.
Mae cysylltiad â'r dirprwy a wrthodwyd, twnnel a wrthodwyd a gwall tystysgrif yn digwydd ar wahanol adegau yn y dilyniant hwn. Dewch o hyd i'r cam olaf a gwblhawyd cyn newid gosodiadau.
Y cyfnewid CONNECT
Yn HTTP/1.1, dyma enghraifft syml o'r cyfnewid:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
Gwesteiwr a phorth yw targed y cais, heb lwybr nac ymholiad y wefan. Ar ôl ymateb CONNECT llwyddiannus, mae'r cysylltiad yn cludo beitiau'r twnnel. Ar gyfer cyrchfan HTTPS, ysgwyd llaw TLS yw cyfnewid nesaf y cleient.
Darllenwch y statws rhifol yn hytrach na cheisio paru'r ymadrodd esboniadol Saesneg. Gall dirprwyon ddefnyddio testun gwahanol ar gyfer yr un statws.
Gwylio gyda curl
Ar gyfer dirprwy HTTP ar borth lleol 8080:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Rhowch eich pwynt terfyn yn lle'r cyfeiriad gwrando; os oes angen ymgeiswyr, porwch y rhestr dirprwyon HTTP a phrofwch y cofnod a ddewiswyd. Mae'r rhestr osgoi wag yn sicrhau bod yr alwad hon yn dewis y dirprwy. Chwiliwch yn nhrefn amser am y cysylltiad â'r dirprwy, ymateb CONNECT, dilysu tystysgrif y gyrchfan ac ymateb y wefan. Mae union eiriad y log yn dibynnu ar adeiladwaith curl.
Gall y gyrchfan ddychwelyd 404, 429 neu 500 ar ôl i'r dirprwy dderbyn y twnnel. Gall hefyd fethu yn ystod TLS cyn dychwelyd unrhyw ymateb HTTP.
Ble y stopiodd?
| Arsylwad | Beth i'w archwilio nesaf |
|---|---|
| Gwrthodir y cysylltiad â'r dirprwy | Cyfeiriad y dirprwy, y porth gwrando, y broses a mynediad i'r rhwydwaith. |
| Mae'r dirprwy'n dychwelyd 407 | Cyfrif y dirprwy a'r dull dilysu. |
| Mae'r dirprwy'n gwrthod cyrchfan neu borth | Polisi mynediad a chyrchfannau CONNECT a ganiateir. |
| Mae'r twnnel yn agor, yna mae dilysu TLS yn methu | Enw'r gyrchfan, y storfa ymddiriedaeth, y cloc ac unrhyw ryng-gipio TLS a reolir. |
| Mae TLS yn llwyddo ac mae'r wefan yn dychwelyd gwall | Ymateb y wefan. |
I gymharu, cadwch un ochr yn gyson: rhowch gynnig ar gyrchfan arall drwy'r un dirprwy, neu gymharwch yr un gyrchfan drwy lwybr uniongyrchol a ganiateir.
Mae gweithredwr i'r twnnel o hyd
Mae'r dirprwy'n gwybod cyrchfan CONNECT ac yn trin amseriad a maint y traffig. Mae TLS pen-i-ben arferol yn diogelu cynnwys rhaglen y wefan rhag dirprwy nad yw'n terfynu'r sesiwn TLS honno. Mae gan ddirprwy rhyng-gipio a reolir y mae'r cleient yn ymddiried ynddo drefniant ymddiriedaeth gwahanol.