„200 Connection Established” oznacza, że proxy zaakceptowało tunel. Witryna nie zwróciła jeszcze strony. Następnie odbywa się TLS z celem, a dopiero potem właściwe żądanie HTTPS.

Od połączenia z proxy do odpowiedzi witryny

  1. Klient łączy się z punktem końcowym proxy.
  2. Prosi proxy o połączenie z docelowym hostem i portem.
  3. Proxy przyjmuje lub odrzuca to żądanie.
  4. Po akceptacji klient negocjuje TLS z celem przez tunel.
  5. Klient wysyła żądanie HTTPS i odbiera odpowiedź witryny wewnątrz TLS.

Odmowa połączenia z proxy, odrzucony tunel i błąd certyfikatu występują w różnych miejscach tej sekwencji. Przed zmianą ustawień znajdź ostatni zakończony krok.

Wymiana CONNECT

W HTTP/1.1 uproszczona wymiana wygląda tak:

CONNECT example.com:443 HTTP/1.1
Host: example.com:443

HTTP/1.1 200 Connection Established

Celem żądania jest host i port, bez ścieżki ani parametrów zapytania witryny. Po udanej odpowiedzi CONNECT połączenie przenosi bajty tunelu. W przypadku celu HTTPS następną wymianą klienta jest uzgadnianie TLS.

Odczytuj liczbowy kod stanu zamiast porównywać angielską frazę objaśniającą. Serwery proxy mogą używać różnych tekstów dla tego samego stanu.

Obserwacja za pomocą curl

Dla proxy HTTP na lokalnym porcie 8080:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

Zastąp adres nasłuchiwania swoim punktem końcowym. Jeśli potrzebujesz kandydatów, przejrzyj listę proxy HTTP i przetestuj wybrany wpis. Pusta lista wyjątków gwarantuje wybór proxy w tym wywołaniu. W kolejności chronologicznej szukaj połączenia z proxy, odpowiedzi CONNECT, weryfikacji certyfikatu celu i odpowiedzi witryny. Dokładne brzmienie dziennika zależy od kompilacji curl.

Cel może zwrócić 404, 429 lub 500 już po zaakceptowaniu tunelu przez proxy. Może też dojść do awarii podczas TLS, zanim wróci jakakolwiek odpowiedź HTTP.

Gdzie się zatrzymało?

ObserwacjaCo sprawdzić dalej
Połączenie z proxy zostaje odrzuconeAdres proxy, port nasłuchiwania, proces i dostęp sieciowy.
Proxy zwraca 407Konto proxy i schemat uwierzytelniania.
Proxy odrzuca cel lub portZasady dostępu i dozwolone cele CONNECT.
Tunel się otwiera, ale później weryfikacja TLS zawodziNazwa celu, magazyn zaufania, zegar i ewentualne zarządzane przechwytywanie TLS.
TLS działa, a witryna zwraca błądOdpowiedź witryny.

Podczas porównywania pozostaw jedną stronę bez zmian: spróbuj innego celu przez to samo proxy albo porównaj ten sam cel dozwoloną trasą bezpośrednią.

Tunel nadal ma operatora

Proxy zna cel CONNECT oraz obsługuje czasowy rozkład i wielkość ruchu. Zwykły TLS od końca do końca chroni treść aplikacyjną witryny przed proxy, które nie kończy u siebie tej sesji TLS. Zarządzane proxy przechwytujące, któremu ufa klient, oznacza inny model zaufania.

Powiązane artykuły