Acabei de implantar uma atualização em um site ASP.NET MVC3 existente (já estava configurado) e estou recebendo a tela azul da morte do IIS informando
Erro HTTP 500.0 - Erro interno do servidor
A página não pode ser exibida porque ocorreu um erro interno do servidor.
No entanto; não há nada aparecendo no log de eventos do aplicativo onde eu esperaria ver uma descrição (mais) detalhada da entrada.
Como posso proceder para diagnosticar este problema?
Dê uma olhada no recurso de rastreamento de solicitação com falha do IIS7:
A outra coisa que eu faria é ajustar sua
<httpErrors>
configuração porque o IIS pode estar engolindo uma mensagem de erro mais adiante no pipeline:Se o site estiver escrito em ASP clássico, certifique-se de ativar a configuração Enviar erros para o navegador no recurso de configuração do ASP:
E, finalmente, se você estiver usando o Internet Explorer, verifique se desativou Mostrar mensagens de erro HTTP amigáveis nas configurações avançadas (embora eu suspeite que você já tenha feito isso ou esteja usando um navegador diferente).
No meu caso:
web.config
não estava corrompido - verificado usando o mesmo na máquina local / usandoinetmgr
Finalmente...
...Chrome/57.0.2987.133+Safari/537.36 500 19 5 312
A chave sendo:
sc-status sc-substatus sc-win32-status 500 19 5
que com alguma pesquisa no Google me apontou para
IIS_USRS
não ter permissões de leitura para awww
pastaO problema mais óbvio são direitos NTFS impróprios ou nulos na pasta do aplicativo da web. Portanto, certifique-se de que a conta que atende ao site tenha as permissões corretas. Sem direitos NTFS apropriados para o diretório web, não importa o que você coloca no web.config, pois ele nunca será lido.
Uma verificação rápida pode ser dar a todos os direitos completos - se o site começar a funcionar, você saberá que é um problema de direitos e poderá definir a atribuição de direitos apropriados a uma conta mais apropriada.
Se estiver atualizando do IIS6, então pode ser que o web.config funcione no 6, mas não no IIS 7.5... Dê um duplo clique em todos os ícones do IIS para o site e você pode receber um erro sobre o formato (Seção deve estar abaixo de outra seção ...)
Eu tive o mesmo problema com um aplicativo Web do Azure. Durante a depuração local, as mensagens de erro (JSON) retornadas de chamadas ajax foram totalmente retornadas ao navegador. Mas, uma vez implantado no aplicativo da Web, as mensagens foram engolidas e recebi uma mensagem de erro padrão 500. Então eu tive que definir explicitamente o
existingResponse
valor na tagPassThrough
web.config .httpErrors
Eu corri nesta edição muitas vezes. Erro 500 de um site ASP.NET 4.x. Nenhum detalhe no eventLog e até mesmo o rastreamento acima não ajudou. No meu caso foi causado pelo fato de que o web.config contém regras de reescrita . Portanto, verifique seu web.config se tiver algo como:
Se isso acontecer, você precisa instalar o módulo de reescrita iis:
https://www.iis.net/downloads/microsoft/url-rewrite