Interceptar o corpo da resposta nginx e alterar o código de status

1

Eu tenho um servidor de API interno api.example.com que, após determinado tipo de solicitação, retorna uma página da web contendo yes ou no com o código de status 200 nos dois casos (e não tenho controle sobre este servidor).

Estou tentando configurar uma configuração nginx disponível em frontend.example.com , que representará frontend.example.com/foobar a api.example.com e gostaria de responder à consulta com 200 upon yes ou 4xx sobre no - diga 400 para simplificar aqui. Eu não me importo particularmente com o corpo da resposta, pois isso será usado apenas por scripts. Eu gostaria que a configuração fosse independente e, por esse motivo, prefiro que nenhum script / website / proxy externo faça o trabalho; ie. Eu gostaria de fazer isso inteiramente na configuração nginx (de preferência sem módulo não-estoque).

Para resumir, eu de alguma forma precisaria de algum tipo de predicado sobre o conteúdo da página retornada que me permitiria escrever algo como

if ($webpage_content = "yes") {
    return 400;
}

Eu não encontrei nenhuma documentação para isso. Existe alguma maneira de fazer uma coisa dessas?

Obrigado!

    
por Tobast 06.11.2017 / 16:34

0 respostas

Tags