9 тактик для виправлення помилки 504 Gateway Timeout

by Luke Odom
9 тактик для виправлення помилки 504 Gateway Timeout thumbnail

Для власників вебсайтів WordPress, професійних адміністраторів вебсайтів та розробників вебсайтів, існує багато поширених помилок WordPress, про які варто пам’ятати.

Роздуми про коди помилок можуть здатися важкими і навіть трохи песимістичними. Однак, ми виявили, що проактивне каталогізування причин кожної з них і способів їх усунення дозволяє заощадити багато часу, грошей та нервових клітин на розгадуванні того, чому екран перед вами порожній або завис.

Адже як було б легше, якби ви отримали повідомлення на кшталт Помилка ⒡00ⓓ: Голодний, щоб розшифрувати, чому ви такі їдкі в Slack о 15:00 щодня? (Винний!)

Кожен, хто працює з вебсайтом WordPress — або використовував Інтернет — ймовірно зустрічав помилку 504 Gateway Timeout на якомусь етапі.

Тому ми склали цей посібник, щоб пояснити, на що ви дивитесь, чому це відбувається, багато рішень для його вирішення, і чому навіть має значення, що ця помилка взагалі виникає.

Від базових перевірок до передових методів усунення проблем, приєднуйтесь до нас, поки ми проходимо через все, що розумний власник або менеджер веб-сайту повинен знати про виправлення помилки 504 Gateway Timeout.

Як ідентифікувати помилку 504 Gateway Timeout

На найпопулярнішому у світі браузері, Google Chrome, ви часто можете бачити знайоме повідомлення “Цей сайт не може бути досягнутий” на майже порожньому екрані, з кодом помилки “HTTP ERROR 504” під ним.

Проте, існує кілька різних способів, як ця помилка може бути відображена в Chrome, а також у різних браузерах, пристроях, операційних системах, типах серверів та програмах.

"504 Час очікування шлюзу." діалогове вікно помилки з заголовком, "Сервер не відповів вчасно."

Отже, якщо ви бачите будь-які з цих повідомлень, ймовірно, ви маєте справу з тією самою помилкою 504 Gateway Timeout, про яку ми говоримо сьогодні:

  • “Помилка тайм-ауту шлюзу”
  • “504 Тайм-аут шлюзу. Сервер не відповів вчасно.”
  • “Тайм-аут шлюзу (504)”
  • “Помилка 504”
  • “Помилка 504”
  • “HTTP Помилка 504”
  • “HTTP 504”
  • “HTTP Помилка 504. Тайм-аут шлюзу.”
  • “504 Тайм-аут шлюзу NGINX”
  • “NGINX 504 Тайм-аут шлюзу”

І іноді, помилка може бути менш описовою, відмовляючись від коду помилки на користь посилання на час, наприклад:

  • “Ця сторінка не працює. Домен відповідає занадто довго.”
  • “Запит на сторінку було скасовано, оскільки він займав забагато часу для завершення”
  • “Виникла проблема з обробкою вашого запиту, будь ласка, спробуйте ще раз через кілька хвилин”
  • “Сталася помилка шлюзу. Ви повинні переглянути ваш журнал помилок для отримання додаткової інформації”

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

Іноді ви можете просто дивитися на порожній екран! Оскільки помилка 504 є досить поширеною, це не погана ідея припустити, що порожня сторінка виникає через перевищення часу очікування сервера та застосувати кроки, які ми надамо пізніше в цьому посібнику, щоб виправити це.

Що означає помилка 504 Gateway Timeout

Технічно, 504 Gateway Timeout є помилкою на стороні сервера, який виступає як шлюз або проксі. Це означає, що сервер не встиг дочекатися відповіді від наступного сервера, з яким йому потрібно було зв’язатися, і тому не завершив дію, яку від нього просили зробити.

Що це означає менш технічною мовою? (Англійською, будь ласка.)

Ось як це сталося. Давайте заглибимося трохи глибше в увесь процес.

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

"Шлюз" та "Вищестоящий сервер" діаграма з символом годинника між ними, що вказує на витрачений час.

Іноді помилка може вирішитися сама по собі, але іноді може знадобитися втручання в різні системи для її усунення.

Тепер, коли ви знаєте, що ви бачите, давайте з’ясуємо, чому ви це бачите.

Що викликає помилку 504 Gateway Timeout?

Причина, чому помилка 504 так часто зустрічається, полягає в тому, що проблеми з часом сервера можуть виникати з різних причин.

Ось багато з найпопулярніших основних проблем:

Збої сервера: Сервери постійно виходять з ладу та сповільнюються з різних причин: збільшення трафіку, технічне обслуговування, несправність обладнання тощо. Якщо будь-які сервери, які потрібно синхронізувати для завантаження вебсайту, не працюють, ви ймовірно побачите помилку через проблеми з таймінгом.

Обмеження ресурсів: Якщо ваш сайт отримує більше відвідувачів, навіть якщо ці відвідувачі є легітимними, це може бути більше, ніж ваша поточна конфігурація може обробити.

Інші, більш загальні перерви: Існує багато інших причин, крім безперервності сервера, які можуть вплинути на завантаження веб-сайтів. Маршрутизатори можуть вийти з ладу, пристрої можуть збоїти та інше. Будь-яка з цих причин може порушити з’єднання між серверами та потрапити вас у 504 ув’язнення.

Проблеми проксі-сервера: Проксі-сервери можуть додати додатковий рівень безпеки, але іноді вони можуть порушити потік комунікації між шлюзом та вищестоящими серверами.

Плутанина з брандмауером: Брандмауери, особливо ті, що мають додаткові заходи безпеки або власні конфігурації, можуть помилково блокувати певні з’єднання, вважаючи їх атакою. Це може ставатися частіше, якщо ви використовуєте брандмауер для обмеження певних інтернет-провайдерів (ISP) або мереж з доставки контенту (CDN).

Проблеми з DNS: Іноді сервери системи доменних імен (DNS) не можуть правильно співставити доменне ім’я з відповідною IP-адресою. Це може бути викликано нещодавніми змінами IP, кешуванням застарілої інформації DNS або помилками в налаштуванні DNS.

Глосарій DreamHost

DNS

Протокол Системи доменних імен (DNS) зберігає записи про те, які доменні імена відповідають певним IP-адресам. DNS дозволяє вам переглядати веб, вводячи звичайні URL-адреси замість IP-адрес.

Читати далі

Помилки коду вебсайту: Помилка у вашому коді вебсайту може призвести до того, що ваш сервер або вищестоящі сервери не зможуть правильно спілкуватися один з одним, що призведе до тайм-ауту, коли вони не можуть вирішити непорозуміння.

Обмеження PHP worker: У WordPress, PHP worker – це процеси, які допомагають відображати вміст вашого сайту відвідувачам. Якщо у вас недостатньо таких процесів для обробки трафіку, сервер може «вистояти в черзі» до того, як його запит буде оброблено, що ймовірно призведе до перевищення часу очікування.

Глосарій DreamHost

PHP

PHP (Hypertext Preprocessor) — це відкрита мова сценаріїв. Вона широко використовується у веб-розробці та може бути вбудована в HTML. Декілька популярних систем управління контентом (CMS), як-от WordPress, побудовані на PHP.

Читати більше

Чому варто виправити помилку 504 Gateway Timeout?

Гаразд, зараз одне дуже важливе зауваження перед тим, як ми приступимо до усунення помилок тайм-ауту: чому взагалі варто займатися виправленням помилки 504?

Насправді є дві основні причини турбуватися про це: досвід користувача та SEO.

Будь-яка з помилок HTTP 500 зупиняє завантаження сайту. Це, мабуть, найгірший досвід, який ви можете створити для відвідувача вашого сайту — особливо для тих, хто вперше відвідує ваш сайт та потрапив туди за рекомендацією або з реклами, оскільки це може залишити неприємне враження, яке заважатиме їм повернутися знову. Це проблема не тільки для вашого его та бренду, але й для ваших продажів та утримання клієнтів.

Тоді є оптимізація для пошукових систем (SEO) для врахування.

Глосарій DreamHost

SEO

Оптимізація для пошукових систем (SEO) — це практика покращення позицій сайту у результатах пошуку. Результати пошуку формуються на основі багатьох факторів, включаючи релевантність та якість сайту. Оптимізація вашого сайту за цими факторами може допомогти підвищити ваші рейтинги.

Читати більше

Якщо пошукова система намагається проіндексувати (фактично, прочитати та категоризувати ваш сайт, щоб зрозуміти, за якими запитами його слід показувати) ваш вебсайт і виявляє, що завантаження сповільнюється або зупиняється через помилку 504 Gateway Timeout, це може серйозно зашкодити тому, як вона вибирає ранжувати ваш сайт у результатах пошуку.

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

У добу, коли кожен клік це валюта, невирішені та повторювані помилки 504 можуть серйозно вас затримати.

Як виправити помилку 504 Gateway Timeout (9 можливостей)

Збентежені? Не варто. Якщо ваш сайт видає помилку 504 Gateway Timeout, ось що вам потрібно знати, щоб виправити це.

1. Оновіть сайт

Ні, серйозно. Це дійсно може бути так просто!

У разі перерв у з’єднанні, проблем з пристроями, перевантаження трафіку та проведення технічного обслуговування, ймовірно, це просто питання несприятливого часу. Зачекайте хвилину і оновіть свій сайт, щоб перевірити, чи ці проблеми вирішено, і ваш сайт знову став доступним як завжди.

Ось як:

  • Google Chrome на Mac: Натисніть Command + R
  • Google Chrome на Windows: Використовуйте Ctrl + R
  • Safari (наразі підтримується лише на Mac): Command + R
  • Microsoft Edge на Windows: CTRL+R
  • Microsoft Edge на Mac: Command + Shift + R
"Клавіатурні скорочення для оновлення сайту" діаграма з командами для Google Chrome, Safari та Microsoft Edge.

2. Перемикання/Перезавантаження пристроїв та браузерів

Апаратні помилки, застарілі кеші та інші досить прості збої можуть переривати з’єднання з сервером та спричиняти помилку, пов’язану з перевищенням часу очікування.

Спробуйте перезапустити та змінити пристрої та/або браузери, на яких ви працюєте, щоб перевірити, чи завантажується ваш сайт. Вам також слід перезавантажити ваш модем або роутер. Це може вирішити всі проблеми. Або, якщо ви помітите, що ваш сайт починає працювати в деяких місцях, але не в інших, це принаймні допоможе вам визначити, що відбувається.

Щоб перезавантажити більшість сучасних настільних комп’ютерів на MacOS, перейдіть до меню Apple (зліва вгорі) > Перезавантажити. Для комп’ютера на Windows, це повинно виглядати приблизно так: перейдіть до Пуск на панелі завдань, виберіть іконку живлення, а потім Перезавантажити на наступному екрані.

Хоча ви зазвичай не можете відкрити та виправити будь-яке апаратне забезпечення, яке має проблему, ви можете з’ясувати, чому деякі браузери перевантажуються, а інші працюють ідеально. Про це поговоримо далі.

Отримуйте вміст безпосередньо у свою скриньку

Підпишіться зараз, щоб отримувати всі останні оновлення безпосередньо у свою скриньку.

3. Очистити кеш браузера

Браузери часто зберігають інформацію про веб-сайти локально (на вашому пристрої), щоб заощадити час завантаження. Коли записи, які він зберіг, стають застарілими, це може призвести до проблем з підключенням.

Щоб очистити кеш браузера в Google Chrome, натисніть на три вертикальні крапки у верхньому правому куті, щоб відкрити меню Chrome. Відвідайте Більше інструментів > Очистити дані перегляду.

Діалогове вікно, що показує як "Очистити дані перегляду" через перехід в "Додаткові інструменти"

Тут ви зможете вибрати, що саме ви хочете очистити та за який часовий проміжок. Просто не забудьте натиснути кнопку Очищення даних, щоб завершити ваше завдання. Зверніть увагу, що це може виглядати по-різному залежно від вашого пристрою та операційної системи.

"Діалогове вікно "Очистити дані перегляду" з відміченими полями "Cookies та інші дані сайтів" та "Кешовані зображення та файли".

Для Safari виберіть Safari в лівому верхньому куті, потім > Очистити історію > Всю історію > кнопку Очистити історію.

Щоб очистити кеш браузера в Microsoft Edge, просто введіть “edge://settings/clearbrowserdata” у адресний рядок та виберіть, що ви хочете очистити та за який проміжок часу.

Пам’ятайте, що ці процеси можуть виглядати по-різному залежно від вашого пристрою та версії операційної системи, якою ви користуєтеся.

4. Врахуйте зміни DNS та Кеш

Якщо ви або ваш провайдер хостингу змінили сервер DNS вашого сайту через прийняття нової IP адреси або повністю нового хоста веб-сайту WordPress, ці зміни можуть зайняти час, щоб запрацювати і для того, щоб все знову працювало бездоганно. Повне поширення може тривати до 48 годин.

Проте, якщо ви не знали про жодні зміни, або період очікування вже давно минув, це може бути інша проблема з кешуванням, на цей раз на рівні DNS.

Очищення вашого DNS кешу спонукатиме пристрій, який ви використовуєте, запитувати оновлену інформацію від DNS сервера на вебсайтах, тому він більше не буде намагатися підключитися, використовуючи застарілу інформацію DNS.

Ось як:

Windows:

  • Натисніть Win + R та введіть ipconfig /flushdns
  • Натисніть Ctrl + Shift + Enter, щоб запустити командний рядок
  • Після завершення ви повинні побачити повідомлення про успіх

Mac:

  • Переконайтеся, що ви використовуєте найновішу операційну систему
  • Відкрийте Terminal та введіть sudo killall -HUP mDNSResponder (Операційна система, яку ви використовуєте, може вплинути на успіх цієї команди, тому якщо це не спрацює, можливо, вам доведеться шукати “очищення Кеш DNS mac OS [ваша версія тут]”)
  • Натисніть Enter
  • Введіть пароль адміністратора, якщо це потрібно, потім знову натисніть Enter для виконання команди.
    Примітка: Ймовірно, ви не побачите повідомлення про успіх після цього. Команда просто має виконуватись.

Google Chrome (Так, в нього є власний Кеш DNS!)

  • Введіть “chrome://net-internals/#dns” у рядок адреси вашого браузера Chrome та натисніть Enter
  • Клікніть на кнопку Очищення кешу хоста на наступному екрані

5. Вимкніть CDN

Якщо ви ще не вирішили цю проблему, то причиною може бути ваша мережа доставки контенту. Ви можете перевірити це, тимчасово вимкнувши її і подивившись, чи це допоможе.

Якщо ви використовуєте CDN WordPress плагін і у вас є доступ до ваших плагінів, просто деактивуйте його, а потім перевірте, чи завантажується ваш сайт. (Доступ до цього через WordPress Панель керування > Плагіни.)

Проте, якщо ви не можете отримати доступ до вашої адміністративної панелі WordPress через помилку 504 timeout, ви можете отримати доступ до вашого сайту через файловий менеджер вашого хосту або за допомогою протоколу безпечної передачі файлів (SFTP). Ось як це зробити для користувачів DreamHost.

Як тільки ви потрапите у директорію свого сайту, перейдіть до назви вашого вебсайту, потім wp-content > plugins > файл вашого CDN плагіна. Перейменуйте цей файл (на щось на кшталт ім’я_файлу_OFF), збережіть зміни та оновіть свій вебсайт, щоб перевірити, чи це спрацювало.

Коли цей експеримент завершиться, обов’язково відновіть оригінальну назву папки та збережіть її знову, щоб плагін міг функціонувати. Вам також може бути корисно відвідати розділ плагінів у вашому адміністраторі WordPress, щоб переконатися, що він увімкнений і працює.

Хоча це не вирішить проблему, це допоможе вам зрозуміти, чи є проблеми з вашим CDN, після чого ви зможете вирішити, чи варто перейти до іншого провайдера, якщо це має сенс.

6. Перевірте WordPress Plugins

Оскільки WordPress плагіни є самостійними невеликими пакетами коду, які інтегруються з вашим екземпляром WordPress, якщо вони починають працювати з помилками, вони можуть перервати з’єднання з сервером і викликати помилку 504.

Щоб з’ясувати, чи відбувається саме це, процес дуже схожий на те, що ми робили вище.

Спочатку, якщо ви можете потрапити до адміністратора WordPress, перейдіть на сторінку Plugins і деактивуйте все. Потім активуйте кожен по черзі та оновлюйте ваш сайт, щоб перевірити, чи він завантажується безперебійно. Коли ви знайдете причину проблеми, ви можете її деактивувати та шукати новішу версію або альтернативу.

Вибрана вкладка Plugins з опцією "Deactivate" з анотацією та застосованою до всіх елементів у списку нижче.

Якщо ви не можете отримати доступ до панелі керування, вам доведеться відкрити її за допомогою файлового менеджера вашого хосту або платформи SFTP.

У каталозі перейдіть до назви вашого сайту > wp-content > plugins. Тепер перейменуйте цей файл цілком (на кшталт plugins_OFF), збережіть та перезавантажте. Якщо це спрацює, ви зрозумієте, що проблема десь у вашому плагіні. Тепер ви маєте можливість увійти до свого адміністратора WP, перейти до ваших плагінів і включати їх по одному, щоб побачити, який з них сповільнює час завантаження вашого сайту.

7. Вимкніть ваш Firewall

Символи брандмауерів для Mac і Windows з кнопкою перемикання, що встановлена в положення "ВИМК."

Щоб тимчасово вимкнути ваш брандмауер і перевірити, чи його налаштування є причиною помилки 504, виконайте наступні кроки:

Windows:

  • Меню Пуск > Параметри > Конфіденційність і безпека > Безпека Windows > Захист від пожежі та мережева безпека
  • Виберіть свій мережевий профіль
  • Знайдіть Брандмауер Microsoft Defender та вимкніть

Mac:

  • Меню Apple > Системні налаштування > Безпека та конфіденційність > Брандмауер (у верхній частині вікна)
  • Виберіть кнопку, щоб увімкнути брандмауер
  • Можливо, вам доведеться розблокувати цю сторінку, використовуючи свій пароль, щоб внести зміни

(Примітка: Ми рекомендуємо увімкнути ваш firewall знову! Якщо це викликає помилки шлюзу, після його включення ви можете приділити час налаштуванню його конфігурації для підвищення продуктивності.)

8. Змініть налаштування веб-сервера

Для більш технічно підкованих, зміна налаштувань Apache та NGINX може допомогти зменшити або навіть усунути помилки 504.

Ось як:

Apache

  • Знайдіть файл конфігурації Apache (httpd.conf або apache2.conf)
  • Відкрийте його в текстовому редакторі
  • Змініть Timeout, збільшивши стандартний до 60 секунд. Наприклад, якщо ви хочете встановити 500 секунд, використовуйте Timeout 500
  • Збережіть і закрийте редактор
  • Тепер відкрийте і змініть файл php.ini, збільшивши max_execution_time зі стандартних 30 секунд до, наприклад, 400 секунд, використовуючи max_execution_time = 400
  • Збережіть і перезапустіть Apache для впровадження ваших змін з часом виконання, використовуючи sudo service apache2 restart

NGINX

  • Знайдіть файл конфігурації NGINX (часто /etc/nginx/nginx.conf)
  • Для NGINX + FastCGI Process Manager або при використанні NGINX як зворотного проксі для Apache, ось всі місця, де ви збільшите стандартні значення (ми використаємо 500 і 400 секунд знову):
    • proxy_connect_timeout 500;
    • proxy_send_timeout 500;
    • proxy_read_timeout 500;
    • send_timeout 500;
    • fastcgi_read_timeout 400;
  • Перезавантажте сервер NGINX: sudo service nginx reload
  • Редагуйте файл конфігурації пулу PHP-FPM (/etc/php/[version]/fpm/pool.d/www.conf — вставте вашу власну версію замість [version])
  • Встановіть: request_terminate_timeout = 400
  • У файлі php.ini встановіть: max_execution_time = 400
  • Перезавантажте PHP-FPM та NGINX за допомогою sudo service php[version]-fpm reload && sudo service nginx reload

Сподіваємось, що це буде кінець тим чутливим налаштуванням сервера на тайм-аут!

9. Зверніться за підтримкою до вашого хоста

Якщо ви розводите руками і не знаєте, що ще робити, ви завжди повинні мати можливість звернутися до хостингу вашого сайту WordPress за швидкою та надійною підтримкою.

Крім усунення проблем та їх рішення разом з вами, вони також можуть швидко зробити кілька речей, які, як правило, усувають помилки 504, наприклад збільшити кількість PHP працівників або оновити вас на сервер з більшими або кращими ресурсами для вирішення проблем, пов’язаних з трафіком.

Що ми чуємо? Якщо ви співпрацюєте з хостинговою компанією, яка не готова зробити все можливе, щоб ваш сайт працював добре як для пошукачів, так і для пошукових систем, настав час шукати нову.

У DreamHost ми не просто допомагаємо власникам, менеджерам та розробникам вебсайтів вирішувати поширені помилки — ми фанатично ставимося до платформи WordPress в цілому!

Саме тому ми пропонуємо DreamPress, пакет, який ми спеціально розробили для клієнтів, які хочуть мати сучасний та високопродуктивний вебсайт WordPress без зайвих клопотів.

І для повністю індивідуального сервісу, наш відділ професійних послуг може взяти розробку сайту та управління на себе.

Чи хочете ви глибоко зануритися в процес разом з нами, або просто хочете отримати переваги від успішного веб-сайту WordPress, не забруднюючи руки, DreamHost може створити ідеальний план хостингу та підтримки для вас.

Заплануйте безкоштовну консультацію з нашою командою професійних послуг та почніть формувати майбутнє вашого сайту сьогодні!

Отримуйте вміст безпосередньо у свою скриньку

Підпишіться зараз, щоб отримувати всі останні оновлення безпосередньо у свою скриньку.