Uma resposta 5xx ainda é uma resposta, portanto, por padrão, ela seria passada para o cliente.
Eu não vi nenhum produto que alcance o nível que você mencionou. Se não existir, você precisa de um balanceador de carga que permita gravar uma regra de resposta pós-personalizada e que a regra tenha acesso para modificar o estado do nó incorreto no pool e alimentar a solicitação de volta ao seu pool. F5 BigIP's , Riverbed StingRay (Zues) certamente oferecem o elemento de script e gerenciamento de nós ( f5 p. Ex. Abaixo na parte inferior ). Verniz e Lula embora balanceadores de carga não puros oferecem a capacidade de modificar respostas pós-resposta de back-end também. Não tenho certeza sobre o acesso deles ao gerenciamento de nó / pool. Observe que você também precisaria lidar com os tempos limite de solicitação da mesma maneira que as respostas 5xx.
A página que você usa para monitorar um status de nós também precisaria ser algo que testasse completamente o status dos aplicativos e pudesse ser atingido com bastante frequência
O HAProxy mais próximo parece chegar a este observe <mode>
que lhe permite reagir aos erros que ocorrem no tráfego regular.
I cannot return 5xx error from my app.
Em algum momento vai acontecer, atender a isso.