Upstream service php-fpm is up and running but reports {"errors": {"status_code": 502,"status": "php-fpm server is down"}}

Maxim Dounin mdounin at
Fri Dec 16 22:17:54 UTC 2022


On Fri, Dec 16, 2022 at 11:53:40PM +0530, Kaushal Shriyan wrote:

> I have a follow up question regarding the settings below in nginx.conf
> where the php-fpm upstream server is processing all php files for Drupal
> CMS.
> fastcgi_intercept_errors off
> proxy_intercept_errors off
> User -> Nginx -> php-fpm -> MySQL DB.
> For example if the php-fpm upstream server is down then nginx should render
> 502 bad gateway
>                      if MySQL DB service is down then nginx should render
> 500 ISE.
> Is there a way to render any of the messages or any custom messages to the
> User from the php-fpm upstream server that should be passed to a client
> without being intercepted by the Nginx web server. Any examples? I have
> attached the file for your reference. Please guide me. Thanks in advance.

Not sure I understand what are you asking about.

With fastcgi_intercept_errors turned off (the default) nginx does 
not intercept any of the errors returned by php-fpm.

That is, when MySQL is down and php-fpm returns 500 (Internal 
Server Error), it is returned directory to the client.  When 
php-fpm is down, nginx generates 502 (Bad Gateway) itself and 
returns it to the client.

Maxim Dounin

More information about the nginx mailing list