500.19 Erro no IIS7 Quando ocorre um erro
-
20-09-2019 - |
Pergunta
Configuração: Windows 7, iis7. Estou trabalhando em um aplicativo que está sendo visualizado através do servidor IIS local, não pelo servidor da web de depuração incorporado. Então meu aplicativo URL é http://localhost/foo/bar.aspx
. Há não <customErrors>
Seção no meu web.config e não mudei de configuração no IIS.
Se ocorrer algum erro, sempre recebo a seguinte tela de erro:
Erro HTTP 500.19 - Erro do servidor interno
Caminho físico absoluto "C:\inetpub\custerr
"Não é permitido emsystem.webServer/httpErrors
Seção no arquivo web.config. Use o caminho relativo.
Aqui está o meu applicationhost.config
conteúdo:
<httpErrors errorMode="Custom" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
<error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" />
<error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" />
<error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" />
<error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" />
<error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" />
<error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" />
<error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" />
<error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" />
<error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" />
</httpErrors>
Como posso me livrar desse erro de configuração para ver erros detalhados?
Solução
Eu tenho lidado com esse problema nos últimos dias e encontrei a solução. Um arquivo web.config provavelmente está especificando um caminho absoluto para uma das páginas de erro. Este pode não ser o web.config do aplicativo que você está testando. Para mim, foi o arquivo web.config do site.
Se você encontrar o arquivo web.config ofensivo, poderá remover o caminho absoluto e o problema deve ser corrigido.
Uma solução muito mais fácil seria alterar o seu ApplicationHost.config arquivo para definir o
allowAbsolutePathsWhenDelegated
propriedade paratrue
:<httpErrors allowAbsolutePathsWhenDelegated="true" errorMode="Custom" lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath">
Outras dicas
Eu tive o mesmo problema ao instalar serviços de certificado do Active Directory no controlador de domínio. Ambos estavam usando a porta 443. Eu alterei a única para serviços de certificado para o endereço IP do servidor e deixei o servidor Exchange não atribuído. Isso resolveu meu problema.
Eu tive o mesmo problema no IIS 8.5. A correção era excluir quaisquer entradas no arquivo web.config (localizado no diretório raiz do site) que referenciou as páginas de erro personalizadas. As entradas foram criadas pelo sistema quando eu tentei fazer alterações nas páginas personalizadas.
O que me ajudou a resolver este erro está definindo allowAbsolutePathsWhenDelegated
para verdade.
Vamos para IIS> Editor de configuração> Na seção Tipo: System.webserver/httperrors E definir allowAbsolutePathsWhenDelegated
para verdadeiro. Redefinir Iis Para uma boa medida.