504 Gateway Time-out: що це за помилка і як від неї позбутися?

Помилка 504 Gateway Time-out при спробі доступу до певного інтернет-ресурсу вважається однією з найпоширеніших. В даному випадку, правда, від користувача, з чийого комп’ютера здійснюється запит до сторінки, не залежить практично нічого (можливо, що версію браузера буває необхідно оновити або зовсім перейти на використання іншого браузера). А ось власники серверів і сайтів, розташованих на певних хостингах, можуть стикатися з проблемою її появи досить часто. Далі спробуємо коротко розглянути, чому виникає такий збій? і дамо деякі практичні поради щодо можливого усунення повторюваної помилки.

Помилка 504 Gateway Time-out: переклад і загальне розуміння

Щоб повною мірою розібратися, про що, власне, йде мова, для початку необхідно чітко зрозуміти природу цього збою. Якщо запропонувати читачам найпростіший трактування помилки 504 Gateway Time-out, переклад приблизно може означати щось на зразок закінчення часу очікування проходження через шлюз. Але це відноситься тільки до тих випадків, коли при доступі до запитуваної сторінці перевищено час очікування відповіді ресурсу. Тобто запит з віддаленого комп’ютера до ресурсу проходить без проблем, а от опрацювати запит та відправити зворотний htttp-відповідь за відведений час сервер не встигає.

Пояснити це можна на простому прикладі, коли в якості бекенда встановлений сервер Apache, а роль фронтенду виконує nginx. 504 Gateway Time-out при відповіді в такій парі з’являється найчастіше. Схема працює наступним способом.

Клієнтський запит до сервера відправляється безпосередньо до Apache, а спочатку проходить через nginx (щось на зразок розподільника). Якщо сервер Apache опрацювати запит та надіслати відповідь за відведений йому час виявляється не в змозі, nginx при відсутності відповіді генерує цю помилку. Взагалі, варто сказати, що практично у всіх версіях сервера Apache є одна досить неприємна особливість, яка полягає в тому, що вони насправді не володіють достатньо високою швидкістю обробки запитів. Крім того, на їх роботі може позначатися ще й величезна кількість активних в даний момент часу сторонніх процесів і виконуваних сценаріїв, робота яких теж може давати збої.