Estou tentando implantar um aplicativo ASP.NET. Eu implantei o site no IIS, mas ao visitá-lo com o navegador, ele me mostra o seguinte:
erro de 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 brincar com o web.config, obtive:
A página não pode ser exibida porque ocorreu um erro interno do servidor.
Como posso ver o problema real por trás desse erro no servidor?
asp.net
iis
error-handling
Jacob Jedryszek
fonte
fonte
Respostas:
Primeiro, você precisa ativar e ver erros detalhados de suas mensagens da Web, porque esta é 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ê pode executar o navegador no servidor , obtém detalhes sobre o erro, porque o servidor reconhece que você é local e mostra para você. Ou, se você puder ler o log do servidor usando o Visualizador de Eventos, também verá os detalhes do seu 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 a mensagem de erro personalizada do Windows nos artigos de ajuda do Go Daddy .
Além disso, isso pode ajudar: Como habilitar as mensagens de erro detalhadas (do IIS).
fonte
run the browser on the server
trabalhou para mim .. Obrigado irmãoEu estava puxando meu cabelo por causa dessa questão. Assegurar que a seguinte entrada estava no
web.config
arquivo raiz corrigiu-a para mim:Lembre-se de que você deve adicionar isso aos elementos XML existentes , se eles já estiverem lá. Você não pode simplesmente adicionar no final do arquivo, porque não pode ter várias cópias de qualquer elemento.
fonte
Para mim, o seguinte código no web.config foi o culpado. Quando o removi, o site funcionou bem.
fonte
Finalmente, resolvi o erro "500 servidor interno" 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óruns. 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. Decidi excluir todas as referências de arquivos DLL e excluir web.cofig (fazer uma cópia local) do projeto, deixar o aplicativo lançar o erro e adicionar os arquivos DLL, um por um, copiando 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 meu aplicativo real. Portanto, meu aplicativo atual agora possui um novo web.config e copiei a cadeia de conexão e outras referências da cópia local do web.config que salvei.
Acabei de compilar o aplicativo e publiquei em uma pasta local e envie a FTP pela pasta publicada para o goDaddy.
Funcionou e, finalmente, meu problema foi resolvido.
fonte
No meu caso, cometi um erro no meu
web.config
arquivo. De alguma forma, a chave do aplicativo foi colocada na tag <appSettings>. 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.fonte
Minha primeira tentativa de publicar e executar um site muito simples, servindo 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 como .NET 3.5 no Visual Studio (clique com o botão direito do mouse em projeto do site -> Páginas de propriedades -> Compilar), mas tinha o site no Azure configurado como .NET 4.0. Opa! Mudei para 3.5 no Azure e funcionou.
fonte
Além das outras sugestões, altere o
existingResponse
atributo dohttpErrors
nó paraAuto
fromReplace
ou remova completamente essa propriedade.fonte
O IIS também relata o código de status 500 sem dicas de log de eventos, se houver permissões insuficientes no diretório pessoal físico (por exemplo, o IIS_IUSRS não tem acesso).
fonte
No meu caso, substituo este código:
Altere a estrutura 3.5 para a estrutura 4. Ele mostra meu erro detalhado. Eu apago o código em:
Isso resolveu meu problema.
fonte
Para o IIS 8 Há uma etapa extra a ser feita, além de alterar o customErrors = Off para mostrar o conteúdo do erro.
Raul respondeu à pergunta neste link Desativar erros personalizados do IIS8 por Raul
fonte
Provavelmente, o seu arquivo web.config está errado ou está faltando alguma tag. Resolvi meu problema usando as tags de configuração corretas para o .NET 4.
fonte
Percebi que as permissões para os arquivos e pastas em seu servidor também são importantes. Carreguei meus arquivos de um sistema operacional Linux e geralmente as permissões são limitadas para leitura e gravação. Portanto, quando carregadas, a permissão ainda é a mesma da máquina local.
Eu tive o mesmo erro e apenas alterei as permissões da pasta que eu havia carregado e o erro desapareceu.
Espero que ajude alguém.
fonte
Estou enfrentando o mesmo problema, mas agora meu problema foi resolvido. Sempre use nesta hospedagem isso que funciona.
Também vou recomendar a todos que façam as alterações que você deseja fazer no seu arquivo web.config. Faça um por um e teste o mesmo no domínio ativo, para encontrar o problema exato ou os recursos que o seu provedor de hospedagem não permite que você use.
fonte
Se você estiver usando um HttpHandler personalizado (ou seja, implementando
IHttpModule
), verifique se está inspecionando chamadas para oError
método dele.Você poderia fazer com que seu manipulador jogasse o real
HttpExceptions
(que possui umaMessage
propriedade útil ) durante a depuração local como esta:Verifique também as exceções
InnerException
.fonte
Erro interno do servidor 500 pode ocorrer devido a vários motivos. O primeiro motivo pode ser que o arquivo web.config não foi criado corretamente, significa que você perdeu uma tag no arquivo web.config. Em segundo lugar, esse erro pode ocorrer devido a algum problema de código. Para verificar qual componente do aplicativo Web está causando esse erro, verifique a configuração do Aplicativo no arquivo web.config. Os detalhes de solução e rastreamento de erro interno do servidor 500 com diagrama são fornecidos aqui:
fonte
Verifique se a 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 Modo de pipeline integrado. Na seção Referências do projeto, defina Copiar local como True para os seguintes assemblies:
Adicione os seguintes assemblies ao seu projeto e defina Copy Local como True:
fonte
Às vezes, o motivo pode ser que um dos seus assemblies .dll não esteja registrado corretamente no servidor.
Por exemplo, você pode executar com êxito um aplicativo Web C # Excel em sua máquina local com o Office instalado, enquanto obtém o erro 500 na implantação do servidor, porque não há um pacote Office instalado no servidor e, portanto, obtém o erro do servidor.
fonte
Para quem tem essa possibilidade (hospedagem VPS, não hospedagem na web):
Conecte-se ao seu servidor de hospedagem via Área de Trabalho Remota. Abra o Navegador da Web na área de trabalho remota e você verá a descrição detalhada do erro.
Você não precisa modificar o web.config ou expor detalhes a mais ninguém.
fonte
Se você estiver usando o IIS 8.5, talvez seja necessário alterar a configuração do ApplicationPool ID 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 - provavelmente será definido como ApplicationPoolIdentity . Clique no botão (..) e selecione NetworkService na lista suspensa.
Além disso, verifique se, se for um aplicativo .NET 2.0, você não está referenciando a estrutura 4.0 no seu Pool de Aplicativos.
fonte
Antes de alterar o
web.config
arquivo, verifiquei se a.NET Framework
versão que você está usando é exatamente (quero dizer, 4.5! = 4.5.2) a mesma em comparação com as suasGoDaddy
configurações (configurações do ASP.Net no seuPlesk panel
). Isso deve alterar automaticamente o arquivo web.config para a estrutura correta.Observe também que, por enquanto (janeiro '16),
GoDaddy
trabalha comASP.Net 3.5
e4.5.2
. Para usar4.5.2
com o Visual Studio, ele deve ser2012
ou mais recente; caso contrário, 2015, você deve baixar e instalar o .NET Framework 4.5.2 Developer Package.Se ainda não estiver funcionando, sim, sua próxima etapa deve ser ativar o relatório de erros detalhado para que você possa depurá-lo.
fonte
Recentemente, entrei no mesmo problema, o espaço em disco estava cheio no servidor. A limpeza de algum espaço resolveu o problema.
fonte
Outro motivo pode ser a reescrita do URL, basta remover / comentar a seção "reescrever" no arquivo web.config
fonte
Tente compilar no modo de depuração (no Visual Studio). Se você estiver no modo Release, muitos erros de reescrita de URL não estarão disponíveis.
A imagem mostra a caixa de seleção Debug selection no Visual Studio
fonte