Site de implantação: 500 – Erro interno do servidor

Eu estou tentando implantar um aplicativo ASP.NET. Eu implantei o site para o IIS, mas ao visitá-lo com o navegador, ele me mostra isso:

erro de servidor

500 – Erro interno do servidor.

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

Depois de brincar com o web.config, agora eu recebo:

A página não pode ser exibida porque ocorreu um erro interno do servidor.

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

Primeiro, você precisa ativar e ver erros detalhados de suas mensagens na Web, porque essa é uma mensagem geral sem fornecer informações sobre o que realmente está acontecendo por motivos de segurança.

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

Além disso, se você puder executar o navegador no servidor , obterá detalhes sobre o erro, porque o servidor reconhece que você é local e o mostra para você. Ou, se você conseguir ler o log do servidor usando o Visualizador de Eventos, também verá os detalhes do erro.

No IIS 6

      

No IIS 7

           

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

Referência: Ativando o sistema de mensagens de erro personalizado do Windows nos artigos de ajuda do Go Daddy .

Além disso, isso pode ajudar: Como habilitar as mensagens de erro detalhadas (do IIS).

Eu estava puxando meu cabelo sobre este assunto. Certificando-se de que a input a seguir estava no arquivo web.config da raiz, corrigiu para mim:

      

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

Eu finalmente resolvi este erro “500 Internal server” ao implantar o aplicativo ASP.NET MVC 3.0 na hospedagem compartilhada godaddy.ocm.

de alguma forma, houve discrepâncias na versão dos arquivos DLL referenciados e na versão mencionada no arquivo web.config .

Eu tentei todas as opções mencionadas em vários fórum. Nada ajudou, embora todos tenham sugerido o mesmo tipo de correção, mas de alguma forma não funcionou no meu cenário. Finalmente depois de bater minha cabeça por dois dias. Eu decidi excluir todas as referências de arquivo DLL e excluir web.cofig (fazer uma cópia local) do projeto e deixar o aplicativo lançar o erro e, em seguida, adicionar os arquivos DLL um por um fazendo a cópia para local = true.

Depois que todos os arquivos DLL foram adicionados, criei um novo aplicativo ASP.NET MVC e copiei o web.config do novo aplicativo para o aplicativo real. Portanto, meu aplicativo atual agora tem um novo web.config e copiei o connectionstring e outras referências da cópia local do web.config que salvei.

Eu apenas compilei o aplicativo e publiquei em uma pasta local e enviei por FTP a pasta publicada para o goDaddy.

Funcionou e finalmente meu problema foi resolvido.

No meu caso, eu coloquei um erro no meu arquivo web.config . A chave do aplicativo de alguma forma foi colocada sob a tag . Mas eu me pergunto por que não exibe um erro de configuração. O erro 500 é muito genérico para investigar o problema.

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

O problema: eu tinha o site definido para o .NET 3.5 no Visual Studio (clique com o botão direito do mouse no projeto do site -> Property Pages -> Build), mas tinha o site do Azure configurado como .NET 4.0. Opa! Eu mudei para 3.5 no Azure, e funcionou.

Para mim, o seguinte código no web.config foi o culpado. Quando o removi, o site funcionou bem.

     

Além das outras sugestões, certifique-se de alterar o atributo httpErrorshttpErrors para Auto de Replace ou para remover totalmente essa propriedade.

  ^^^^^^^ not going to work with this here 

O IIS também reporta o código de status 500 sem quaisquer dicas de log de events, se houver permissions insuficientes no diretório físico (ou seja, IIS_IUSRS não tem access).

Provavelmente o seu arquivo web.config está errado ou está faltando alguma tag. Eu resolvi meu problema usando as tags de configuração corretas para o .NET 4.

                                     

Eu percebi que as permissions para os arquivos e pastas em seu servidor também são importantes. Enviei meus arquivos de um sistema operacional Linux e normalmente as permissions são limitadas para leitura e gravação. Então, quando carregado, a permissão ainda é a mesma que na máquina local.

Eu tive o mesmo erro e acabei de alterar as permissions para a pasta que eu tinha carregado e o erro foi embora.

Espero que ajude alguém.

500 erro interno do servidor pode surgir devido a vários motivos. A primeira razão pode ser que o arquivo web.config não tenha sido criado corretamente, significa que você perdeu alguma tag no arquivo web.config. Em segundo lugar, este erro pode ser devido a algum problema de código. Para verificar qual componente do aplicativo da Web está causando esse erro, você pode verificar a configuração do Aplicativo no arquivo web.config. O detalhe de resolver e rastrear 500 erros internos de servidor com diagrama é dado aqui:

Resolva 500 servidores internos do IIS.

Erro do servidor 500 – Erro interno do servidor. Há um problema com o recurso que você está procurando e não pode ser exibido. Deusa Hospedagem – Web – Economia – Windows Plesk

No meu caso, eu substituo este código:

           

Em seguida, altere o framework 3.5 para o framework 4. Ele mostra meu erro detalhado. Eu apago código em:

  

Isso resolveu meu problema.

500 Erro Interno
Erro de Hospedagem do Windows

Problema de hospedagem do GoDaddy

Eu tenho enfrentado o mesmo problema, mas agora meu problema foi resolvido. Sempre use nesta hospedagem isso funciona.

Também recomendarei a todos que façam as alterações desejadas em seu arquivo web.config. Faça um por um e teste o mesmo no domínio ao vivo para que você possa encontrar o problema exato ou os resources que seu provedor de hospedagem não permite que você use.

                                               

Verifique se sua conta usa o IIS 7. Para obter mais informações, consulte Personalizando as configurações do IIS na sua conta de hospedagem do Windows. Siga as instruções em Alterando o Modo de Pipeline na sua Conta de Hospedagem do Windows IIS 7. Selecione o modo de pipeline integrado. Na seção Referências do Projeto, defina Copiar Local como Verdadeiro para os seguintes conjuntos:

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

Adicione os seguintes assemblies ao seu projeto e, em seguida, defina Copy Local como True:

 Microsoft.Web.Infrastructure System.Web.Razor System.Web.WebPages.Deployment System.Web.WebPages.Razor Publish your application. 

Às vezes, o motivo pode ser um dos seus assemblies .dll não está registrado corretamente no servidor.

Por exemplo, você pode executar com êxito um aplicativo da Web C # Excel em sua máquina local com o Office instalado, recebendo o erro 500 na implantação do servidor, porque não há nenhum pacote do Office instalado no servidor e, portanto, você recebe o erro do servidor.

Para quem tem essa possibilidade (hospedagem VPS não hospedagem web):

Conecte-se ao seu servidor de hospedagem via Remote Desktop. Abra o Navegador da Web a partir do seu desktop remoto e você verá a descrição detalhada do erro.

Você não precisa modificar o web.config nem expor nenhum detalhe a ninguém.

Se você estiver usando um HttpHandler personalizado (ou seja, implementando o IHttpModule ), verifique se está inspecionando as chamadas para o método Error .

Você poderia ter seu manipulador HttpExceptions as HttpExceptions (que possuem uma útil propriedade Message ) durante a debugging 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; } 

Também certifique-se de inspecionar InnerException da exceção.

Se você estiver usando o IIS 8.5, talvez seja necessário alterar a configuração de ID do ApplicationPool de ApplicationPoolId para NetworkService.

Clique com o botão direito do mouse no Pool de Aplicativos em questão, clique em “Configurações Avançadas” e role para baixo até ID – ele provavelmente será definido como ApplicationPoolIdentity . Clique no botão (..) e selecione NetworkService na lista suspensa.

Certifique-se também de que, se for um aplicativo .NET 2.0, você não está referenciando a estrutura 4.0 em seu Pool de Aplicativos.

Para o IIS 8

       

Desativar erros personalizados do IIS8 por Raul

Antes de alterar o arquivo web.config , gostaria de verificar se a versão do .NET Framework que você está usando é exatamente (quero dizer, 4.5! = 4.5.2) o mesmo em comparação com as configurações do GoDaddy (configurações ASP.Net no seu Plesk panel ). Isso deve alterar automaticamente seu arquivo web.config para a estrutura correta.

Observe também que, por enquanto (janeiro ’16), o GoDaddy trabalha com o ASP.Net 3.5 e 4.5.2 . Para usar o 4.5.2 com o Visual Studio, ele precisa ser 2012 ou mais recente, e se não for 2015, você deve baixar e instalar o Pacote de Desenvolvedor do .NET Framework 4.5.2.

Se ainda não funcionar, então sim, sua próxima etapa deve permitir relatórios detalhados de erros para que você possa depurá-los.