Kod 444: serwer zamknął połączenie bez odpowiedzi

Strona na nginx postanowiła nie odpowiadać na żądanie i po prostu zamknęła połączenie. W Twoim programie kodu 444 nie będzie – tylko pusta odpowiedź.

Zaktualizowano · Redakcja Prokso

W skrócie
  • Strona na nginx zamknęła połączenie bez odpowiedzi, więc program widzi tylko pustą odpowiedź
  • Najczęściej w żądaniu jest nieznana nazwa strony: pusty Host albo IP zamiast domeny
  • Łącz się przez domenę, a nie przez IP serwera, i z właściwym schematem

Co oznacza błąd

444 to niestandardowy kod serwera WWW nginx. Według dokumentacji nginx zamyka on połączenie bez wysyłania nagłówków odpowiedzi. Właściciel strony wpisuje go w ustawieniach dla żądań, których nie chce obsługiwać.

Ten kod trafia tylko do dziennika serwera strony. Klient go nie otrzymuje: przeglądarka Chrome pokazuje ERR_EMPTY_RESPONSE, curl pisze Empty reply from server, a biblioteki – że połączenie zamknięto bez odpowiedzi.

W dokumentacji nginx jest typowy przykład: serwer domyślny z return 444 dla żądań z nieznaną nazwą strony. Dlatego 444 często oznacza, że żądanie trafiło nie do tej strony, której oczekiwał serwer.

Kto zwraca błąd: 407 - proxy, 401 i 403 - sama stronaTwój programProxygw.prokso.comStrona407 - odpowiada proxy: login, hasło lub pozostały transfer401 / 403 - odpowiada strona: logowanie lub dostęp
Kto zwraca błąd: 407 - proxy, 401 i 403 - sama strona

Przyczyny

  • Nieznana nazwa strony w żądaniu. Nagłówek Host jest pusty, podano IP zamiast domeny albo domenę, której na tym serwerze nie ma.
  • Reguła właściciela strony. Żądania określonego rodzaju, z określonych adresów lub bez wymaganych nagłówków serwer zamyka bez odpowiedzi.
  • Żądanie nie pasuje do protokołu strony. Na przykład zwykłe żądanie HTTP na port, na którym strona oczekuje HTTPS.
  • Ograniczenie częstotliwości. Część właścicieli ustawia 444 zamiast 429 dla żądań ponad limit.

Jak to naprawić

  1. Sprawdź adres: łącz się przez domenę, a nie przez IP serwera, i z właściwym schematem – http:// lub https://.
  2. Upewnij się, że program wysyła nagłówek Host z tą samą domeną co w adresie.
  3. Otwórz tę samą podstronę w przeglądarce bez proxy. Jeśli i tam odpowiedź jest pusta, strona jest tak skonfigurowana dla wszystkich.
  4. Zmniejsz tempo żądań i liczbę wątków do tej strony – zobacz też błąd 429.
  5. Jeśli dostępu potrzebujesz do pracy, a przyczyną są reguły strony, zwróć się do jej właściciela. Nie warto omijać takich reguł: zasady dopuszczalnego użytkowania Prokso zabraniają omijania blokad nałożonych przez stronę.

Jak sprawdzić, czy działa

Przez to samo proxy otwórz „Mój IP”. Jeśli strona się otwiera, proxy działa, a pustą odpowiedź zwraca konkretny serwis.

Diagnoza w 2 minuty

Najpierw wklej linię do sprawdzania proxy. Jeśli tam proxy działa, przyczyna leży w programie lub jego ustawieniach. Jeśli nie - sprawdź linię z terminala:

curl -v -x "http://LOGIN:HASŁO@gw.prokso.com:823" https://api.ipify.org
  • Wiersz < HTTP/1.1 407 zaraz po CONNECT oznacza, że odpowiada proxy. Nazwa po kodzie, na przykład NO_USER, wskazuje przyczynę.
  • Proxy odpowiedziało na CONNECT kodem 200, a potem przyszedł inny kod - proxy działa, tę odpowiedź dała strona.
  • Brak odpowiedzi, tylko przekroczony czas - połączenie nie dotarło do proxy: sprawdź host, port i sieć.

Pytania i odpowiedzi (FAQ)

Dlaczego nie widzę kodu 444 w swoim programie?

Bo serwer nic nie wysyła: ani kodu, ani nagłówków. Kod 444 widać tylko w dzienniku strony, a program widzi zamknięte połączenie.

Czy to proxy zamyka połączenie?

Błędy proxy Prokso przychodzą z kodem i nazwą przyczyny, na przykład 407 lub 502. Pusta odpowiedź bez kodu najczęściej pochodzi od serwera strony.

Czy transfer jest naliczany, jeśli nie ma odpowiedzi?

Naliczane jest to, co faktycznie przeszło przez proxy: Twoje żądanie i wymiana techniczna przy nawiązywaniu połączenia. Bez odpowiedzi to bardzo niewielka objętość.

Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB

Rejestracja w minutę, dostęp od razu po płatności.

Utwórz konto