A maior parte do seu conteúdo reside no servidor remoto. Você precisa exibir uma página de erro (junto com alguns recursos) localmente. Você precisa de um "local especial" que seja diferente de qualquer localidade servida pelo upstream e coloque todos os seus recursos locais lá. Não consigo escolher um nome para esse local, pois não tenho ideia do que você está veiculando a partir de 8888. Mas digamos /error_pages
por enquanto.
server {
server_name example.com;
location / {
proxy_pass http://localhost:8888;
error_page 502 /error_pages/502.html;
}
location /error_pages {
root /var/www/example;
}
}
Com a configuração acima, você precisará editar 502.html
e alterar os URLs dos recursos para adicionar o prefixo /error_pages
.
Você também precisará mover todos os arquivos ( 502.html
e seus arquivos de recursos) para o subdiretório /var/www/example/error_pages/
.