Você pode configurar uma página de erro personalizada para cada bloco de localização em seu nginx.conf ou uma página de erro global para o site.
Exemplo para um erro 502:
location /my_blog {
error_page 502 = /502.html;
return 502;
}
Uma página de erro global 502:
server {
listen 80;
error_page 502 /502.html;
location /test {
return 502;
}
}
Você pode até adicionar códigos de erro padrão juntos para ter uma única página para vários tipos de erros:
location /my_blog {
error_page 500 502 503 504 = /server_error.html;
...
}
Para redirecionar para um servidor totalmente diferente, supondo que você tenha um servidor upstream chamado server2 definido em sua seção http:
upstream server2 {
server 10.0.0.1:80;
}
server {
...
location /my_blog {
error_page 502 = @try_server2;
return 502;
}
location @try_server2 {
proxy_pass http://server2;
}
}
O manual pode fornecer mais detalhes (pode haver alguns outros exemplos úteis na Web).