A enviar a página web: 500 - Erro interno do servidor

Estou a tentar implantar um ASP.NET aplicação. Eu enviei o site para o IIS, mas ao visitá-lo com o navegador, ele me mostra isto:

Erro Do Servidor

500-Erro interno do servidor.

Há um problema com o recurso que você está procurando, e ele não pode ser exibido.

Depois de mexer na web.config, agora tenho:

a página não pode ser mostrada porque um erro interno do servidor tem registar.

Como posso ver o problema real por trás deste erro do servidor?

Author: Aristos, 2011-03-22

20 answers

Primeiro, você precisa ativar e ver erros detalhados de suas mensagens web, porque esta é uma mensagem geral sem dar informações sobre o que está realmente acontecendo por razões de segurança.

Com o erro detalhado, você pode localizar o problema real aqui.

Também, se você pode executar o navegador no servidor, Você obtém detalhes sobre o erro, porque o servidor reconhece que você é local e mostra-o para você. ou se consegue ler o log do servidor usando o Visualizador de Eventos, Você também vê os detalhes do seu erro.

Em 6

<configuration>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

No IIS 7

<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    <system.web>
        <customErrors mode="Off"/>
        <compilation debug="true"/>
    </system.web>
</configuration>

Nota: pode evitar a depuração = true . Você só precisa fechar os erros personalizados por um tempo e obter a página de erro detalhado.

Referência: activar a mensagem de erro personalizada do Windows em artigos de ajuda do papá.

Além disso, isto pode ajudar.: Como activar o erro detalhado mensagens (de IIS).
 252
Author: Aristos, 2015-02-28 21:13:26
Estava a puxar o cabelo por causa deste assunto. Certificando-se de que o seguinte item estava no arquivo root web.config o corrigiu para mim:
<configuration>
  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
  </system.webServer>
</configuration>

Lembre-se que você tem que adicionar isso aos elementos existentes XML, se eles já estão lá. Você não pode simplesmente adicionar no final do arquivo, porque você não pode ter várias cópias de qualquer elemento.

 22
Author: Joshua Frank, 2015-02-28 21:16:52
Finalmente resolvi este erro de" 500 servidores internos " ao implantar o ASP.NET aplicação MVC 3.0 em godaddy.a ocm partilhou hospedagem. De alguma forma, houve discrepâncias na versão dos ficheiros DLL referenciados e mencionados no ficheiro {[[0]}. Tentei todas as opções mencionadas em vários fóruns. Nada ajudou, embora todos sugerissem o mesmo tipo de correção, mas de alguma forma não funcionou no meu cenário. Finalmente, depois de bater com a cabeça durante dois dias. Decidi apagar todas as referências de arquivos DLL e excluir web.cofig (faça uma cópia local) do projeto e deixe a aplicação jogar o erro e, em seguida, adicionar os arquivos DLL um por um fazendo cópia para local=true.

Depois de todos os arquivos DLL foram adicionados, eu criei um novo ASP.NET aplicação MVC e copiou a web.configuração da nova aplicação para a minha aplicação real. Então minha aplicação atual agora tem uma nova web.config, e então eu copiei o conectionstring e outras referências da cópia local da web.config que eu salva.

Acabei de compilar a aplicação e publiquei numa pasta local e FTP a pasta publicada para goDaddy.

Funcionou e finalmente o meu problema foi resolvido.
 9
Author: Manish kumar, 2015-03-16 21:32:26
Para mim, o seguinte código na web.config foi o culpado. Quando o removi, o site funcionou bem.
  <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
  </staticContent>
 7
Author: user3638709, 2014-05-14 22:55:20
No meu caso, coloquei um erro no meu ficheiro. A chave de aplicação de alguma forma foi colocada sob a tag . Mas eu me pergunto por que ele não exibe um erro de configuração. O erro 500 é muito genérico para investigar o problema.
 7
Author: Van Thi, 2015-02-28 21:18:07

Minha primeira tentativa de publicar e, em seguida, executar um site muito simples servindo apenas HTML produzido "a página não pode ser exibida porque um erro interno do servidor ocorreu."

O problema: eu tinha o site definido para . Net 3.5 em Visual Studio (projecto do sítio web com o botão direito -> páginas de propriedade -> Build), mas tinha o sítio Web em Azure configurado como.Net 4.0. Oops! Mudei para 3.5 em Azure, e funcionou.

 7
Author: kenswdev, 2015-03-16 21:28:41

Além das outras sugestões, certifique-se de alterar o atributo existingResponse do nó httpErrors para Auto de Replace, ou de remover essa propriedade por completo.

<httpErrors existingResponse="Replace" />
                              ^^^^^^^ not going to work with this here
 4
Author: ErikE, 2014-08-13 02:30:23

O IIS também comunica o código de Estado 500 sem qualquer indicação de registo de eventos se não existirem permissões suficientes na pasta pessoal física (ou seja, o IIS_IUSRS não tem acesso).

 3
Author: lapsus, 2016-10-24 17:17:25
Provavelmente a tua teia.o ficheiro de configuração está errado ou falta alguma marca. Resolvi o meu problema usando as etiquetas de configuração correctas para . net 4.
<system.web>
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
        <assemblies>
            <add assembly="System.Deployment, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
        <namespaces>
            <clear/>
            <add namespace="System"/>
            <add namespace="System.Collections"/>
            <add namespace="System.Collections.Specialized"/>
            <add namespace="System.Configuration"/>
            <add namespace="System.Text"/>
            <add namespace="System.Text.RegularExpressions"/>
            <add namespace="System.Web"/>
            <add namespace="System.Web.Caching"/>
            <add namespace="System.Web.SessionState"/>
            <add namespace="System.Web.Security"/>
            <add namespace="System.Web.Profile"/>
            <add namespace="System.Web.UI"/>
            <add namespace="System.Web.UI.WebControls"/>
            <add namespace="System.Web.UI.WebControls.WebParts"/>
            <add namespace="System.Web.UI.HtmlControls"/>
        </namespaces>
    </pages>
    <authentication mode="None"/>
</system.web>
 2
Author: Edu Pelais, 2015-03-16 22:09:24

Percebi que as permissões para os ficheiros e pastas do seu servidor também importam. Eu carreguei meus arquivos de um sistema operacional linux e geralmente as permissões são limitadas para leitura e escrita. Então, quando carregado, a permissão ainda é a mesma da máquina local.

Tive o mesmo erro e acabei de mudar as permissões para a pasta que tinha carregado e o erro tinha desaparecido.

Espero que ajude alguém.
 2
Author: mark kasina, 2015-09-30 14:14:33

500 Erro interno do servidor pode surgir devido a várias razões. A primeira razão pode ser aquela teia.o ficheiro de configuração não foi criado correctamente, o que significa que perdeu alguma marca na web.ficheiro de configuração. Em segundo lugar, este erro pode ser devido a algum problema de código. Para verificar qual componente da aplicação web está causando este erro, você pode verificar a configuração da aplicação na web.ficheiro de configuração. O detalhe de resolver e rastrear 500 erros internos do servidor com o diagrama é dado aqui:

Resolver 500 internos servidor do IIS.

 1
Author: Manish, 2014-09-06 01:22:13

Erro do servidor 500-Erro interno do servidor. Há um problema com o recurso que você está procurando, e ele não pode ser exibido. Goddady. Hosting-Web-Economy-Windows Plesk

No meu caso, substituo este código:

<configuration> 
  <system.webServer> 
    <httpErrors errorMode="Detailed" /> 
    <asp scriptErrorSentToBrowser="true"/> 
  </system.webServer> 
  <system.web> 
    <customErrors mode="Off"/>
    <compilation debug="true" targetFramework="4.0"/>
  </system.web> 
</configuration>

Mudar então o quadro 3.5 para o quadro 4. Mostra o meu erro detalhado. Apago o código em:

<httpModules></httpModules>
Resolveu o meu problema.
 1
Author: ThanGio, 2015-03-16 22:07:09

500 Erro Interno
Erro De Hospedagem Do Windows

GoDaddy Hosting issue

Tenho enfrentado o mesmo problema, mas agora o meu problema foi resolvido. Use sempre nesta hospedagem isto funciona.

Também vos recomendarei a todos que façam quaisquer alterações que estejam à procura de fazer na vossa web.ficheiro de configuração. Por favor, faça-o um a um e teste o mesmo no domínio ao vivo para que você possa encontrar o problema exato ou as características que o seu provedor de hospedagem não te permite usar.

<?xml version="1.0"?>

<configuration>
    <system.web>
        <trust level="Medium"/>
        <compilation debug="true" targetFramework="4.5">
            <assemblies>
                <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            </assemblies>
        </compilation>

        <httpRuntime targetFramework="4.5" />
        <sessionState mode="InProc" cookieless="false" timeout="90" />
        <authentication mode="Forms">
            <forms loginUrl="default.aspx"  
                   defaultUrl="default.aspx"
                   protection="All"
                   cookieless="UseCookies"
                   slidingExpiration="false"
                   timeout="30"
                   name="aeon.corpusjuris.in" />
        </authentication>

        <customErrors 
            mode="Off" 
            defaultRedirect="errorpage.aspx">

            <error statusCode="403" redirect="errorpage.aspx"/>
            <error statusCode="404" redirect="errorpage.aspx"/>
        </customErrors>

        <!--  <httpModules>
                <add name="HTTPCaching" type="HTTPCaching"/>
            </httpModules>
        -->
    </system.web>

    <runtime>
        <performanceScenario value="HighDensityWebHosting"  />
    </runtime>

    <system.webServer>
        <!--  <modules runAllManagedModulesForAllRequests="true">
                <add name="HTTPCaching" type="HTTPCaching"/>
            </modules>
        -->

        <defaultDocument>
            <files>
                <clear />
                <add value="default.aspx" />
            </files>
        </defaultDocument>

        <httpErrors errorMode="Detailed" />
        <asp scriptErrorSentToBrowser="true"/>

        <staticContent>
            <clientCache cacheControlCustom="public"
                         cacheControlMaxAge="60:00:00"
                         cacheControlMode="UseMaxAge" />
        </staticContent>
    </system.webServer>

    <system.web.extensions>
         <scripting>
             <webServices>
                 <jsonSerialization maxJsonLength="90000000">
                 </jsonSerialization>
             </webServices>
         </scripting>
    </system.web.extensions>

</configuration>
 1
Author: Tushar Tyagi, 2015-03-17 18:36:00

Certifica-te que a tua conta usa os ISIS 7. Para mais informações, consulte a configuração do IIS personalizada na sua conta de hospedagem do Windows. Siga as instruções na mudança do modo de Pipeline na sua conta de Hospedagem Windows IIS 7. Seleccione O Modo De Conduta Integrado. Na sua secção de referências do projecto, defina a cópia Local como verdadeira para as seguintes assembleias:

System.Web.Abstractions
System.Web.Helpers
System.Web.Routing
System.Web.Mvc
System.Web.WebPages

Adicione as seguintes assembleias ao seu projecto, e depois defina a cópia Local como verdadeira:

Microsoft.Web.Infrastructure
System.Web.Razor
System.Web.WebPages.Deployment
System.Web.WebPages.Razor
Publish your application.
 0
Author: Kurkula, 2014-10-25 16:28:41
Às vezes, a razão pode ser uma das tuas .os conjuntos dll não estão registrados corretamente no servidor.

Por exemplo, você pode executar com sucesso uma aplicação web C# Excel na sua máquina local com o Office instalado, enquanto obtém o erro 500 na implementação do servidor, porque não existe nenhum pacote de escritório instalado no servidor, e assim você obtém o erro do servidor.

 0
Author: user3745869, 2015-03-16 22:10:22

Para aqueles que têm esta possibilidade (hospedagem VPS Não web hosting):

Ligue-se ao seu servidor de hospedagem através de um ecrã remoto. Abra o navegador Web do seu ambiente de trabalho remoto e verá a descrição detalhada do erro.

Não precisa de modificar a web.confunda ou expõe os detalhes a mais alguém.
 0
Author: qub1n, 2016-10-28 07:59:23

Se está a usar um HttpHandler personalizado (isto é, a implementar IHttpModule), Certifique-se que está a inspeccionar as chamadas para o seu método Error.

Pode pedir ao seu manipulador que atire o HttpExceptions (que tem uma propriedade útil Message) durante a depuração local como esta:

    public void Error(object sender, EventArgs e)
    {
        if (!HttpContext.Current.Request.IsLocal)
            return;
        var ex = ((HttpApplication)sender).Server.GetLastError();
        if (ex.GetType() == typeof(HttpException))
            throw ex;
    }

Verifique também a excepção InnerException.

 0
Author: Protector one, 2016-11-15 10:09:21

Se está a utilizar o IIS 8, 5 pode ser que precise de alterar a configuração do ID do ApplicationPool de ApplicationPoolId para NetworkService

Carregue com o botão direito no conjunto de aplicações em questão, carregue em "Configurações Avançadas" e depois desça para ID - provavelmente será configurado para ApplicationPoolIdentity. Clique no botão (..) e seleccione Serviço de rede na lista em alternativa.

Certifique-se também que se for uma. Net 2. 0 aplicação que você não está se referindo ao framework 4.0 em seu Pool de aplicativos.

 0
Author: Steve Woods, 2017-02-01 11:51:22

Para os IIS 8

<system.web>
   <customErrors mode="Off" />
</system.web>
<system.webServer>
   <httpErrors existingResponse="PassThrough" errorMode="Detailed">
</system.webServer>

Desligar os erros personalizados do IIS8 pelo Raul

 0
Author: Aviva, 2017-05-09 19:19:41

Antes de alterar o ficheiro {[[0]}, verificaria se a versão .NET Framework que está a usar é exactamente (quero dizer, 4.5 != 4. 5. 2) o mesmo em comparação com a sua configuração GoDaddy (ASP.Net configuração no seu Plesk panel). Isso deve mudar automaticamente a sua web.ficheiro de configuração para a estrutura correcta.

Observe também que por agora (janeiro de 16), GoDaddy trabalha com ASP.Net 3.5 e 4.5.2. Para usar 4.5.2 com Visual Studio tem que ser 2012 ou mais recente, e se não 2015, você deve baixar e instalar o. NET Pacote De Desenvolvimento Do Framework 4.5.2.

Se ainda não estiver a funcionar, então sim, o seu próximo passo deverá ser activar a comunicação detalhada de erros para que possa depurá-la.

 0
Author: Sergio R, 2018-04-29 15:12:41