A enviar a página web: 500 - Erro interno do servidor
Depois de mexer na web.config, agora tenho: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.
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?
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).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.
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. <staticContent>
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />
</staticContent>
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.
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
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).
<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>
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.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:
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.
Tenho enfrentado o mesmo problema, mas agora o meu problema foi resolvido. Use sempre nesta hospedagem isto funciona.500 Erro Interno
Erro De Hospedagem Do Windows
GoDaddy Hosting issue
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>
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.
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.
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.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
.
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.
Para os IIS 8
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<httpErrors existingResponse="PassThrough" errorMode="Detailed">
</system.webServer>
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.