504

Gateway Timeout

Офіційний
Батьківський сервер не відповів вчасно

Загальне пояснення коду стану 504

Помилка HTTP 504 Gateway Timeout виникає, коли сервер намагається відповісти на запит від клієнта, але не може зробити це протягом розумного проміжку часу. Цю помилку зазвичай називають "таймаут шлюзу", оскільки вона часто виникає, коли проксі-сервер або шлюз, який є посередником між клієнтом і сервером, не може з'єднатися або отримати відповідь від сервера. Це може мати різні причини, такі як перевантаження сервера, проблеми з мережею або недостатня конфігурація проксі-сервера або шлюзу.

.

Специфікація коду стану HTTP 504

Код стану 504 Gateway Timeout вказує на те, що сервер, виконуючи роль шлюзу або проксі-сервера, не отримав своєчасної відповіді від попереднього сервера, до якого він повинен був отримати доступ для виконання запиту.

Джерело / Цитата з: Код статусу 504 Gateway Timeout HTTP визначається розділом 6.6.5 у RFC7231.

Як згенерувати код статусу 504 за допомогою PHP?

Щоб передати на веб-сторінці код статусу HTTP 504, можна використовувати PHP-функцію http_response_code. Синтаксис наступний: http_response_code(504) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Перевірте код стану 504 HTTP

Щоб мати можливість відображати код статусу HTTP (в даному випадку 504 Gateway Timeout) та іншу інформацію на стороні клієнта, необхідно відкрити консоль розробки за допомогою клавіші F12. Потім перейдіть на вкладку "Мережа". Тепер сторінку можна відкрити, веб-сайт (наприклад, index.php) повинен бути видимим у вкладці "Мережа". Його потрібно вибрати, а потім вибрати розділ Herder. Після цього користувач побачить наступний результат:

Код стану 504 Gateway Timeout
Огляд
URL: https://http-statuscode.com/errorCodeExample.php?code=504
Статус: 504 Gateway Timeout
Ці: Network
IP-адреса: XX.XX.XX.XX
Код стану 504 Gateway Timeout

Як вирішити проблему з кодом статусу 504?

Існує кілька можливих причин виникнення помилки HTTP 504 Gateway Timeout "Таймаут шлюзу", зокрема:

  1. Перевантаження сервера: якщо сервер отримує занадто багато запитів і не в змозі відповісти на них протягом розумного часу, може виникнути помилка таймауту. Це можна вирішити шляхом масштабування сервера або додавання ресурсів, таких як процесор, оперативна пам'ять або сховище.
  2. Проблеми з мережею: помилка таймауту також може виникнути, якщо є проблеми з мережевим з'єднанням між клієнтом і сервером. Це можна виправити, перевіривши мережеве з'єднання, конфігурацію маршрутизатора або брандмауера або перезапустивши мережеві компоненти.
  3. Проблеми з проксі-сервером або шлюзом: Шлюз або проксі-сервер, який є посередником між клієнтом і сервером, також може спричинити помилку таймауту. Це можна виправити, перевіривши та скоригувавши налаштування проксі-сервера або шлюзу.
  4. Повільна робота програми або бази даних: якщо програма або база даних працює повільно, це також може призвести до помилки таймауту. Це можна виправити, оптимізувавши програму або базу даних.

Для вирішення проблеми можна вжити таких заходів:

  1. Перевірте стан сервера та переконайтеся, що він не перевантажений.
  2. Перевірте мережеве з'єднання та переконайтеся, що воно стабільне та надійне.
  3. Перевірити конфігурацію проксі-серверів або шлюзів і за потреби відкоригувати її.
  4. Оптимізувати програму або базу даних для підвищення її продуктивності.
  5. Перезапуск мережевих компонентів або серверів також може допомогти вирішити проблему.

У багатьох випадках проблему може вирішити поєднання цих заходів.

Як створити власну сторінку помилок для коду стану 504

Створити власну сторінку помилки 504 Gateway Timeout відносно легко як на веб-серверах "Apache", так і на "NGINX".

Apache Webserver

Веб-сервер "Apache" є одним з найпоширеніших веб-серверів в Інтернеті. Щоб створити власну сторінку помилки 504 Gateway Timeout в "Apache", необхідно внести наступні зміни в наступний файл.

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

NGINX Webserver

Подібно до веб-сервера "Apache", "NGINX" також широко використовується в Інтернеті. Щоб створити власну сторінку помилки 504 Gateway Timeout в "NGINX", необхідно внести наступні зміни в наступний файл.

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

Сумісність коду стану 504 з браузерами

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

Константи в мовах програмування

HttpStatusCode.GatewayTimeout
http.StatusGatewayTimeout
Response::HTTP_GATEWAY_TIMEOUT
httplib.GATEWAY_TIMEOUT
http.client.GATEWAY_TIMEOUT
http.HTTPStatus.GATEWAY_TIMEOUT
:gateway_timeout

Зовнішні посилання з додатковою інформацією про код стану HTTP 504:

Цікаві меми про код статусу HTTP 504

Автор: Tony Brüser
Автор: Tony Brüser

Тоні Брюзер - захоплений веб-розробник, який має схильність до кодів стану HTTP.

LinkedInGitHub