Ошибка 502 Bad Gateway означает, что Nginx не может получить ответ от какого-то сервиса. Gateway означает, что ошибка произошла не внутри самого сервера, а где-то на уровне связи между ним и другой программой.

Что это значит?

Часто Nginx работает в паре с каким-либо другим приложением:

  • В паре с Apache и используется, как прокси сервер.
  • Вместе с PHP-FPM для обработки PHP запросов.
  • Вместе с другим сервисом (например, Varnish либо Memcache).

Причины ошибки Nginx 502

Наиболее частые причины возникновения ошибки bad gateway:

  • Какой-то из сервисов просто выключен. Необходимо перезапустить Apache, PHP-FPM либо другой сервис, с которым работает Nginx.
  • Какой-то из сервисов недоступен по сети. Если Nginx находится на одном сервере, а PHP-FPM или Apache на другом, то ошибка 502 может возникнуть, если между серверами нет связи. Сделайте ping и убедитесь, что проблемы нет.

PHP-FPM

Для PHP-FPM также ошибка 502 Bad Gateway может возникнуть в случае, если используется сокет и к нему нет доступа:

[crit] 2963#0: *138 connect() to unix:/tmp/php5-fpm.sock failed (13: Permission denied) while connecting to upstream

В этом случае, убедитесь, что PHP-FPM сокет создается с нужными правами. В файле настроек fpm (/etc/php-fpm.d/www.conf):

listen = /tmp/php5-fpm.sock
listen.owner = www-data
listen.group = www-data