Como configurar o Apache com mod_wsgi para que as mensagens de erro provenham do aplicativo?

1

Eu implantei um aplicativo WSGI no Apache2 com o mod_wsgi.

O aplicativo é feito para responder com um código de resposta 400 se os dados fornecidos pelo usuário em um formulário forem inválidos. A resposta também contém o HTML com o formulário e campos inválidos destacados para que o usuário possa corrigir os dados.

Isso funciona sem problemas usando servidores de desenvolvimento como o Waitress. Mas quando implantado no Apache com uma configuração bastante normal; O Apache engole o HTML e, assim, dificulta a capacidade do cliente de corrigir seu erro.

Existe uma maneira de configurar o Apache para que as mensagens de erro venham do aplicativo WSGI?

    
por manu 11.03.2014 / 22:31

1 resposta

1

Por padrão, deve sempre passar de volta a resposta do aplicativo WSGI.

Existem apenas duas maneiras pelas quais posso ver isso de outra forma.

O primeiro é que você está usando o modo daemon mod_wsgi e definiu uma diretiva obscura para mod_wsgi, que nem sequer está listada na documentação do mod_wsgi, chamada WSGIErrorOverride. Isso permitiria que o próprio Apache substituísse qualquer resposta de erro para a qual uma diretiva ErrorDocument fosse especificada.

A segunda é que você tem algum módulo especial do Apache instalado, o qual implementa um filtro de saída que está substituindo a resposta quando recebe certas respostas de erros HTTP.

Na verdade, eu não faço agora nenhum módulo padrão do Apache que faça o segundo, embora seja tecnicamente possível. Você, talvez, execute o PHP na mesma instalação do Apache, porque ele pode ser executado como um filtro de saída, é possível que eu ache que ele foi configurado para substituir a resposta.

De qualquer forma, você pode, talvez, descrever as partes mod_wsgi da sua configuração do Apache.

    
por 11.03.2014 / 22:53