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 em system.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?

Foi útil?

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.

  1. Se você encontrar o arquivo web.config ofensivo, poderá remover o caminho absoluto e o problema deve ser corrigido.

  2. Uma solução muito mais fácil seria alterar o seu ApplicationHost.config arquivo para definir o allowAbsolutePathsWhenDelegated propriedade para true:

    <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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top