Como devolver o código de erro 502 em vez de 404 quando o PHP-FPM falhar

3

A configuração do meu servidor é assim: Nginx1 (proxycache) < --------- > Nginx2 < - > PHP-FPM

Quando o PHP-FPM falha porque o processo está inoperante (errorconnect para unix: /run/php/php7.0-fpm.sock falhou: Nenhum desses arquivos ou diretórios durante a conexão com o upstream) ou por causa de pm.max_children foi alcançado Nginx2 retorna um 404. Eu olhei se esse comportamento é definido em qualquer lugar na minha configuração, mas parece que é o padrão.

Se o Nginx1 receber um código de erro 502 do Nginx2, ele mostrará a versão obsoleta da página e é por isso que eu quero que ele retorne um código 502. Eu sei que eu posso configurar o Nginx para usar a versão obsoleta quando ele recebe um 404 do upstream, mas não há como diferenciar isso de um 404 normal quando um arquivo é excluído.

    
por brainsqueezer 28.05.2018 / 10:22

1 resposta

3

Geralmente isso acontece se você configurar o php para exibir erros:

 php_admin_value[display_errors] = On

O nginx considera a mensagem de erro como uma página válida e altera o código de status http.

Ref: link

    
por 28.05.2018 / 11:27