Como diagnosticar um 500 Internal Server Error no IIS 7.5 quando nada é gravado no log de eventos?

36

Acabei de implantar uma atualização em um site da ASP.NET MVC3 existente (já estava configurado) e estou recebendo a tela azul do IIS dizendo:

HTTP Error 500.0 - Internal Server Error
The page cannot be displayed because an internal server error has occurred.

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 diagnosticar este problema?

    
por Greg B 15.07.2012 / 23:25

5 respostas

37

Dê uma olhada no recurso de rastreamento de solicitações falhas do IIS7:

Troubleshooting Failed Requests Using Tracing in IIS 7
Troubleshoot with Failed Request Tracing

A outra coisa que gostaria de fazer é ajustar sua configuração de <httpErrors> porque o IIS pode estar engolindo uma mensagem de erro do pipeline:

<configuration>
  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
</configuration>

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, certifique-se de ter desativado 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).

    
por 16.07.2012 / 00:10
9

No meu caso:

  • O log de eventos estava vazio.
  • web.config não foi corrompido - verificado usando o mesmo na máquina local / usando inetmgr

Finalmente ...

  • A verificação dos registros do IIS mostrou uma solicitação como esta

...Chrome/57.0.2987.133+Safari/537.36 500 19 5 312

A chave é:

sc-status sc-substatus sc-win32-status 500 19 5

que com algum googling apontou para o IIS_USRS não ter permissões de leitura para a pasta www

    
por 17.05.2017 / 01:25
3

O problema mais óbvio é impróprio ou zero direitos NTFS na pasta de aplicativos da web. Portanto, verifique se a conta que veicula o site tem as permissões certas. Sem direitos NTFS adequados ao diretório da web, não importa o que você coloca no web.config, pois ele nunca será lido.

Uma verificação rápida pode ser para dar a todos direitos completos - se o site começar a funcionar, você sabe que é um problema de direitos e poderá definir a atribuição de direitos apropriados a uma conta mais apropriada.

    
por 11.09.2016 / 00:33
0

Se estiver atualizando do IIS6, talvez seja um dos que o web.config funciona em 6, mas não no IIS 7.5 ... Clique duas vezes em todos os ícones do IIS para o site e você poderá obter um erro sobre o formato (Seção deve estar abaixo de outra seção ...)

    
por 14.05.2013 / 00:11
0

Eu tive o mesmo problema com um aplicativo da Web do Azure. Durante a depuração local, as mensagens de erro (Json) retornadas das chamadas ajax eram totalmente retornadas ao navegador. Mas depois de implantar no Web App, as mensagens foram engolidas e recebi uma mensagem de erro padrão 500. Então, tive que definir explicitamente o existingResponsevalue para PassThrough na tag web.config httpErrors .

    
por 23.12.2015 / 09:45