504

Gateway Timeout

Oficjalny
Serwer dla rodziców nie odpowiedział w odpowiednim czasie

Ogólne wyjaśnienie kodu statusu 504

Błąd HTTP 504 Gateway Timeout występuje, gdy serwer próbuje odpowiedzieć na żądanie klienta, ale nie jest w stanie tego zrobić w rozsądnym czasie. Ten błąd jest zwykle określany jako "gateway timeout", ponieważ często występuje, gdy serwer proxy lub brama, która pośredniczy między klientem a serwerem, nie jest w stanie połączyć się lub otrzymać odpowiedzi od serwera. Może to mieć różne przyczyny, takie jak przeciążenie serwera, problemy z siecią lub niewystarczająca konfiguracja serwera proxy lub bramy.

.

Specyfikacja kodu statusu HTTP 504

Kod statusu 504 Gateway Timeout wskazuje, że serwer, działając jako brama lub proxy, nie otrzymał w odpowiednim czasie odpowiedzi od serwera upstream, do którego musiał uzyskać dostęp, aby zakończyć żądanie.

Źródło / Cytat z: Kod statusu 504 Gateway Timeout HTTP jest określony przez sekcję 6.6.5 z RFC7231.

Jak wyrzucić kod statusu 504 za pomocą PHP?

Aby wyrzucić na stronę internetową kod statusu HTTP 504, można użyć funkcji PHP http_response_code. Składnia jest następująca: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Testowanie kodu 504 statusu HTTP

Aby móc wyświetlić kod statusu HTTP (w tym przypadku 504 Gateway Timeout) i inne informacje po stronie klienta, należy otworzyć konsolę programistyczną za pomocą F12. Następnie należy przejść do zakładki "Network". Teraz można otworzyć stronę, w zakładce "Network" powinna być widoczna strona (przykładowy index.php). Należy ją zaznaczyć, a następnie wybrać sekcję Herder. Użytkownik zobaczy wtedy następujący wynik:

Kod statusu 504 Gateway Timeout
Przegląd
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Status: 504 Gateway Timeout
Te: Network
Adres IP: XX.XX.XX.XX
Kod statusu 504 Gateway Timeout

Jak rozwiązać problem z kodem statusu 504?

Istnieje kilka możliwych powodów wystąpienia błędu HTTP 504 Gateway Timeout "Gateway Timeout", takich jak:

  1. Przeciążenie serwera: Jeśli serwer otrzymuje zbyt wiele żądań i nie jest w stanie odpowiedzieć na nie w rozsądnym czasie, może wystąpić błąd timeout. Można to rozwiązać poprzez skalowanie serwera lub dodanie zasobów, takich jak procesor, pamięć RAM lub pamięć masowa.
  2. Problemy z siecią: Błąd timeout może również wystąpić, jeśli występują problemy z połączeniem sieciowym między klientem a serwerem. Można to naprawić poprzez sprawdzenie połączenia sieciowego, sprawdzenie konfiguracji routera lub zapory lub ponowne uruchomienie komponentów sieciowych.
  3. Problemy z proxy lub bramą: Brama lub proxy, które pośredniczą między klientem a serwerem, mogą również powodować błąd timeout. Można to naprawić poprzez sprawdzenie i dostosowanie ustawień proxy lub bramy.
  4. Powolna aplikacja lub baza danych: Jeśli aplikacja lub baza danych działa powoli, może to również prowadzić do błędu timeout. Można to naprawić, optymalizując aplikację lub bazę danych.

Aby rozwiązać problem, można podjąć następujące działania:

  1. Sprawdzić stan serwera i upewnić się, że nie jest on przeciążony.
  2. Sprawdzić połączenie sieciowe i upewnić się, że jest ono stabilne i niezawodne.
  3. Sprawdź konfigurację serwerów proxy lub bramek i w razie potrzeby dostosuj je.
  4. Optymalizuj aplikację lub bazę danych, aby poprawić jej wydajność.
  5. Restart komponentów sieciowych lub serwerów może również pomóc w naprawieniu problemu.

W wielu przypadkach kombinacja tych środków może rozwiązać problem.

.

Jak stworzyć własną stronę błędu dla kodu statusu 504

Stworzenie własnej strony błędu 504 Gateway Timeout jest stosunkowo proste zarówno w przypadku serwera "Apache" jak i "NGINX".

Apache Webserver

Serwer WWW "Apache" jest jednym z najczęściej spotykanych serwerów WWW w Internecie. Aby stworzyć własną stronę błędu 504 Gateway Timeout w "Apache", należy dokonać następującej zmiany w poniższym pliku.

File: .htaccess
ErrorDocument 504 /errors/504.html

NGINX Webserver

Podobnie jak serwer internetowy "Apache", "NGINX" jest również szeroko stosowany w Internecie. Aby stworzyć własną stronę błędu 504 Gateway Timeout w "NGINX", należy dokonać następującej zmiany w poniższym pliku.

File: sites-enabled/default
error_page 504 /504.html;
location = /504.html {
    root /usr/share/nginx/html;
    internal;
}

Zgodność kodu statusu 504 z przeglądarką

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Stałe w językach programowania

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser jest entuzjastycznym twórcą stron internetowych z zamiłowaniem do kodów statusu HTTP.

LinkedInGitHub