TLDR: primeiro determine de onde no pipeline você está obtendo o erro (role procurando capturas de tela de algo semelhante ao seu erro), faça alterações para obter algo novo, repita.
Primeiro, determine qual mensagem de erro você está realmente vendo.
Se você estiver vendo o arquivo localizado aqui ...
% SystemDrive% \ inetpub \ custerr \\ 500.htm
... que geralmente se parece com isso:
... então você sabe que está vendo a página de erro atualmente configurada em ** IIS ** e NÃO precisa alterar a configuração ASP.net customErrors, a configuração de detalhes de erro do asp ou a configuração do navegador "mostrar erros http amigáveis".
Você pode querer olhar para o caminho acima mencionado, em vez de confiar na minha captura de tela para o caso de alguém mudar.
"Sim, vejo o erro descrito acima ..."
Nesse caso, você está vendo a configuração de < httpErrors > ou, no Gerenciador do IIS, é Páginas de erro -> Editar configurações de recursos. O padrão para isso é errorMode = DetalhadoLocalOnly no nível do nó do servidor (em oposição ao nível do site), o que significa que, enquanto você vir esta página de erro configurada enquanto remota, poderá fazer logon localmente no servidor e ver a descrição completa. erro que deve ser algo como isto:
Você deve ter tudo o que precisa nesse momento para corrigir o erro atual.
"Mas não vejo o erro detalhado nem mesmo navegando no servidor"
Isso deixa algumas possibilidades.
- O navegador que você está usando no servidor está configurado para usar um proxy nas configurações de conexão, para que não seja visto como "local".
- Na verdade, você não está navegando no site em que pensa estar navegando - isso geralmente acontece quando há um balanceador de carga envolvido. Faça uma verificação de ping para ver se o dns fornece um IP no servidor ou em outro lugar.
- Você é httpErrors do site configurações de estão definidas apenas para "Personalizado". Altere para "DetalhadoLocalOnly". No entanto, se você tiver um erro de configuração, isso pode não funcionar, pois o httpErrors no site também é um item de configuração. Nesse caso, prossiga para # 4
- O padrão para httpErrors para todos os sites é definido como "Personalizado". Nesse caso, você precisa clicar no nó do servidor de nível superior no Gerenciador do IIS (e não em um site específico) e alterar as configurações de httpErrors para DetalhadoLocalOnly. Se este for um servidor interno e você não estiver preocupado com a divulgação de informações confidenciais, também poderá defini-lo como "Detalhado", o que permitirá que você veja o erro de outros clientes que não o servidor.
- Está faltando um módulo no servidor como o UrlRewrite (este me incomoda muito, e muitas vezes fornece a mensagem genérica, independentemente das configurações do httpErrors).
"Fazer logon no servidor não é uma opção para mim"
Altere os httpErrors do seu site para "Detalhado" para poder vê-lo remotamente. Mas se não funcionar, seu erro já pode ser um erro de configuração, consulte o item 3 imediatamente acima. Então você pode ficar com o 4 ou 5 e precisará de alguém da sua equipe de servidores.
"Não estou vendo a página de erro descrita acima. Estou vendo algo diferente"
Se você vir isso ...
... e você espera ver algo assim ...
... então você precisa alterar "Enviar erros para o navegador" para true no Gerenciador do IIS, em Site -> IIS -> ASP -> Propriedades de depuração
Se você vir isso ...
ou isto...
... você precisa desativar os erros amigáveis no seu navegador ou usar a visualização na web do violinista para analisar a resposta real versus o que o navegador escolhe para mostrar a você.
Se você vir isso ...
... então os erros personalizados estão funcionando, mas você não tem uma página de erro personalizada (é claro que neste momento estávamos falando de .net e não de asp clássico). Você precisa alterar sua tag customErrors em seu web.config para RemoteOnly para exibir no servidor ou Off para visualizar remotamente.
Se você vir algo com o estilo do seu site, é provável que os erros personalizados sejam On ou RemoteOnly e estejam exibindo a página personalizada (Visualizações-> Compartilhado-> Erro.cshtml no MVC, por exemplo). Dito isso, é improvável, mas possível, que alguém tenha alterado as páginas no IIS para httpErrors, portanto, consulte a primeira seção sobre isso.