Форуми Google рясніють скаргами користувачів на серверну помилку 502 в Google додатках. Незважаючи на випадковий фактор своєї появи, ця помилка може неабияк знизити відвідуваність сайту.
502 помилка Bad Gateway може проявлятися по-різному. Приміром, 502 – Service Temporarily Overloaded або HTTP Error 502 – Bad Gateway.
Що викликає 502 помилку сервера
Помилка 502 говорить про те, що зворотний проксі-сервера (наприклад, Apache) для сервера джерела (наприклад, nginx) отримує неправильну відповідь від вихідного веб-сервера.
Поглянувши уважніше, ми виявили, що Apache працює в ньому як проксі nginx. Веб-сервер перезавантажується http-сервіс майже щогодини. Наш досвід розв’язання подібних помилок показує, що помилка 502 Bad Gateway з’являється по одній з наступних причин:
Як виправити 502 серверну помилку в nginx
Спочатку необхідно визначити першопричину виникнення цієї помилки. Ми вивчили серверні логи під час перезавантаження, і знайшли там помилки seg fault.
Потім ми покопались в конфігурації сервера, і побачили, що там відсутній модуль mod_rpaf. Саме це і викликало падіння сервера:
root@server [~]# ls -l /usr/local/apache/modules/mod_rpaf-2.0.so
/bin/ls: cannot access /usr/local/apache/modules/mod_rpaf-2.0.so: No such file or directory
Rpaf – це модуль Reverse proxy add forward, розроблений для серверів Apache. Він потрібен у тому випадку, якщо ви задаєте Nginx фронденд-сервером і хочете отримати реальний IP серверних запитів.
Даний модуль не працював під Apache-2.4, тому ми трохи його підправили. Після перекомпіляції і перезавантаження Apache помилки сегментації припинилися.
Ми последили за сервером ще пару годин і переконалися в тому, що перезавантаження припинилися, а серверні помилки зникли.
Ось кілька порад, як виправити помилку 502 bad gateway:
- Слідкуйте за тим, щоб файли сайту (плагіни і теми) своєчасно оновлювалися і не застарівали;
- Оптимізуйте і виправляйте повільні MySQL-запити;
- Проводите аудит серверного програмного забезпечення і вчасно оновлюйте модулі;
- Уникайте проблем з маршрутизацією і відстежуйте будь-які перевантаження/атаки на сервер.
Переклад статті «HOW TO FIX «502 SERVER ERROR – BAD GATEWAY» IN WEB SERVERS» був підготовлений дружною командою проекту Сайтостроение від А до Я.