ПОМИЛКА 502 BAD GATEWAY ТА ПОМИЛКА 504 GATEWAY TIME-OUT: ЩО ОЗНАЧАЄ І ЯК ВИПРАВИТИ
Помилка 502 + відео
Під час серфінгу по інтернету і звернення до різних вузлів іноді в браузері може з'явитися таке повідомлення про помилку 502 Bad Gateway. При цьому сторінки сайту не відкриваються і немає можливості вивчити ресурси даного веб-сайту. Звичайна дана помилка виникає внаслідок проблем в роботі серверів: проксі, DNS або хостинг-сервера, на якому знаходиться недоступний на даний момент сайт сайт.
Помилка 502 Bad Gateway перекладається як "Невірний шлюз" і означає те, що оглядач інтернету (браузер) на вашому комп'ютері при запиті інформації з веб-вузла отримав неправильний відповідь від сервера DNS сервра, про що і повідомляє користувачу.
Що ж можна зробити в даному випадку?
- Перевірити чи є взагалі доступ до ресурсів мережі Інтернет. Для цього наберіть у браузері наберіть адресу будь-якого іншого сайту, бажано гарантовано працюючого.
- У тому випадку, якщо ви виявили, що доступ до глобальної мережі є, але при спробі запиту сторінки з потрібного сайту все одно з'являється 502 помилка - спробуйте видалити cookies для цього сайту, у вашому браузері. Це робиться наступним чином:
- для Internet Explorer версій 7+ в меню: Сервіс - Властивості оглядача - Кнопка "Видалити" - Кнопка "Видалити cookies"
- для більш ранніх версій Internet Explorer: меню Tools Internet options - Delete cookies
- для Fierefox: Інструменти - Налаштування - Cookies - Очистити cookies
- для Opera: Інструменти - Видалити особисті дані - Подробиці.
- для Chrome: Інструменти - Історія - Очистити історію - Очистити файли cookie та інші дані із сайтів і модулів
Якщо і після очищення cookies продовжує з'являтися повідомлення - це означає, що джерело проблеми знаходиться за межами вашого комп'ютера або мережі. Можливо проблеми з сервером, на якому знаходиться найпопулярніший сайт і в цьому випадку доведеться почекати, поки їх не вирішать.
Помилка 504 + відео
Помилка 504 Gateway Timeout з'являється в тих випадках, коли сервер, на якому знаходится сайт не зміг в установлений ліміт часу повернути HTTP-відповідь.
Як правило це виникає тоді, коли навантаження на сервер сильно зросла і веб сервер не встигає відповідати. Нові запити встають в чергу, але за встановлений час їх так і не встигають обробляти, в слідстві чого з'єднання і обривається.
Для того, щоб впоратися з цією проблемою слід збільшити продуктивність сервера - кількість оперативної пам'яті і потужність процесора, а також збільшити в Apache кількість процесів httpd. Проте в тому випадку, якщо сайт знаходиться на звичайному віртуальному хостингу проблему без допомоги адміністрації хостинг-провайдера вирішити не вдасться і, можливо, доведеться шукати іншу хостингову компанію. Другий варіант - оптимізувати роботу сайту - скриптів, SQL запитів ітд, щоб вони виконувалися за менший час.
Також проблема може виникати тоді, коли виконуваний скрипт не може вкластися у відведений ліміт часу. Так часто трапляється при зверненні скриптом до сторонніх сайтів. В якості рішення підійде збільшення значення параметра PHP max_execution_time або оптимізація скрипта.
Вирішення проблем з появою помилки сервера 504 адміністратором веб-ресурсу
Некоректна робота сайту найчастіше просто дратує відвідувача і призводить до того, що користувач знаходить альтернативний ресурс. Для власника сайту такі збої можуть носити більш глобальні наслідки. Тому дуже важливо своєчасно виявляти баги і максимально швидко усувати їх. Для раннього моніторингу варто використовувати всілякі інструменти:
- проводити регулярну стимуляцію Користувацької поведінки на сайті;
- налаштувати автоматизований моніторинг працездатності ресурсу як вбудованими інструментами адміністрування, так і з використанням спеціальних скриптів;
- забезпечити якісну роботу служби технічної підтримки сайту, своєчасну обробку всіх повідомлень, що надходять, особливо пов'язаних з інформацією про появу різного роду помилок на стороні користувача.
Дотримання останнього правила не тільки дозволить практично без додаткових витрат відстежувати всі можливі проблеми, які виникають при відвідуванні сайту. Своєчасна обробка користувацьких запитів, Швидка відповідь, видача рекомендацій і публічне обговорення підвищують лояльність і створюють додатковий PR-ефект.
Майже всі помилки з кодом 5хх, що виникають через неможливість обробки певної кількості запитів, що надходять на сервер, вирішуються методом апгрейда заліза (використанням високопродуктивного хостингу) або оптимізацією роботи програмного забезпечення. Другий спосіб залежить від виду движка, на якому створений конкретний сайт. При використанні умовно-безкоштовних програм (WordPress, Opencart та інших) всі проблеми доведеться вирішувати на рівні адміністрування, із залученням конкретного веб-програміста, який розробив даний сайт. Якщо баги виникають на платних платформах(1С-Бітрікс, UMI.CMS, NetCat CMS), напишіть про помилку 504 Gateway Time Out в техпідтримку розробника. Відправити повідомлення про проблему слід і розробникам платних скриптів, якщо вони встановлені на вашому сайті, і ви вважаєте, що збої виникають через їх некоректного виконання.
Ось деякі причини, що призводять до виникнення помилки 504 Gateway Time Out
- Різкий стрибок навантаження на сайт внаслідок надходження великої кількості зовнішніх запитів, викликаного DDoS-атаками або діями вірусного ПЗ, піковим відвідуванням сайту, наприклад, в момент проведення різних акцій в інтернет-магазині, або одноразовим завантаженням на сайт великого обсягу контенту (імпорт інформації з CSV - або XML-файлів).
- Некоректна робота скриптів, плагінів і доповнень, що конфліктують як між собою, так і всередині.
- Перевищення ліміту доступних ресурсів при використанні віртуального хостингу.
Ще одна можлива причина виникнення помилки 504-виконуваний скрипт не вкладається у відведений ліміт часу. Це буває, коли скрипт звертається до інших сайтів або просто виконує важку операцію, наприклад, будує пошуковий індекс.
Рекомендації щодо усунення помилки 504 Gateway Time Out методами адміністрування сайту
Помилка 504 Gateway Time Out може бути викликана недавніми змінами або оновленнями на сайті. Якщо після відкату до стану, що передує змінам, баг зник, слід знайти конкретну дію, що спричинило виникнення помилки. Для цього необхідно перевірити журнал помилок відповідної CMS. Користувачі WordPress можуть включити журналювання помилок у файлі WP-config.php додаванням наступних рядків:
define( 'wp_debug', true );
define( 'wp_debug_log', true );
define( 'wp_debug_display', false )
Всі виникаючі варіанти помилок будуть записані у файлі wp-content / debug.log.
Для перевірки працездатності плагінів і розширень спробуйте відключити ті, які викликають підозру як джерела виникнення помилки 504. В першу чергу це стосується застарілих скриптів, але причиною можуть виявитися і оновлення. Якщо проблема зникла, далі слід знайти некоректний плагін або доповнення і усунути або виправити його. Один із способів поліпшення роботи виконуваного скрипта-збільшити значення параметра PHP max_execution_time або полегшити скрипт.
При використанні CDN для більш швидкого отримання контенту, зокрема CloudFlare, який працює як CDN і як сервіс запобігання негативних наслідків від DDoS, ви можете зіткнутися з двома типами помилок 504. У разі виникнення проблеми на стороні CloudFlare найкращим рішенням буде зв'язатися з підтримкою CloudFlare або відключити його. Другий варіант - коли збій виникає на стороні хостинг-провайдера. У цій ситуації також необхідно звернутися в службу підтримки хостера.
Часто помилку 504 можна бачити на серверах, де використовується VPS-хостинг і встановлений Nginx в якості фронтенда і Apache в якості бекенда. Для усунення проблеми в Apache можна збільшити значення timeout за замовчуванням у файлі httpd.conf:
# Timeout: The number of seconds before receives and sends time out.
Timeout 600
Також збільшити ліміт в max_execution_time в php.ini:
max_execution_time 300
Після внесення змін слід перезапустити Apache. Помилка 504 Gateway Time Out повинна зникнути.
Аналогічним чином проблема з появою помилки HTTP 504 вирішується користувачами Nginx. Спробуйте збільшити такі параметри у файлі /etc/nginx / conf.d/timeout.conf:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
Також рекомендується збільшити max_execution_time в php.ini:
max_execution_time 300
Далі перезапустіть Nginx і відкрийте сайт.
Відео про інвестиції
Читати також - Як збільшити швидкість завантаження сайту?
Сподобався матеріал? Будь ласка, репости!
Вітаю всіх на нашому інтернет-журналі. Я - Вольдемар Воронцовський. Цей матеріал написаний і опублікований одним з наших авторів (експертом у своїй справі). За кожною статтею стоїть досвідчений співробітник нашої команди, який перевірив матеріал на помилки і актуальність. Познайомитися з нами можна в розділі - «Редакція сайту».