none
Erro incomum RRS feed

  • Pergunta

  • Pessoal,

    Estou fazendo um serviço de transferência de servidor para uma empresa que não possui o código fonte de um sistema(Sim, eles perderam e agora só tem o compilado). Como não vão mais fazer alterações, não teria problema nenhum, já que eles só precisam trocar o servidor. 

    Porém, ao trocar de servidor, todos os seus arquivos não eram encontrados, e o erro que dava não era 404, mas sim erro 500. O erro era esse: Failed to load resource: the server responded with a status of 500 (Internal Server Error) 

    Ao acessar a URL do arquivo a seguinte mensagem: The page cannot be displayed because an internal server error has occurred.

    Verifiquei que quando renomeio o arquivo web.config e acesso a mesma url do arquivo, ele funciona normalmente e aí já deduzi que o problema está no arquivo web.config.

    Nunca mechi no sistema mas lá encontrei algumas chaves que pra mim são incomuns:

    <add key="DOMINIO" value="http://www.meudominio.com.br"/>
        <add key="DOMINIO_MOBILE" value="http://www.meudominio.com.br/mobile"/>
        <!--<add key="CAMINHO_FISICO" value="e:/home/teste3/web"/>-->
    	<add key="CAMINHO_FISICO" value="h:\root\home\teste-001\www\teste"/>

    Nisso, já imaginei que o problema estava nessa chave caminho fisico e portanto tentei alterar a pasta pro caminho fisico do servidor(comentei o de cima e adicionei o novo embaixo). Porém continuou não funcionando. Outro ponto a ressaltar é que comentei todas essas chaves incomuns e o problema continuou ocorrendo. Mesmo assim, imagino que o c# iria buscar uma chave que não existe caso eu comente(Não tem como eu ver o código fonte). 

    Sabem dizer alguma pista do motivo do problema estar ocorrendo? A unica coisa que sei é que o problema está na web.config.

    Obrigado.

    segunda-feira, 17 de novembro de 2014 23:56

Todas as Respostas

  • Rafa, boa noite.

    Você chegou a verificar se todos os componentes necessários para rodar o serviço estão instalados nesse novo servidor?

    Por exemplo:

    Windows Communication Foundation
    .Net Framework 3.5 ou superior

    Um detalhe importante, verifica se o Pool de aplicativos está configurado de forma correta para o serviço, se ele estiver como 2.0 é um forte candidato a apresentar esse erro.

    Tenta passar mais detalhes, do serviço e do servidor para que a gente possa te ajudar.


    Klayton Gomes MCP /MCTS/ MCAD / MCPD / MCSD Software Architecture / System Analyst

    terça-feira, 18 de novembro de 2014 00:31
  • Aqui vai o código inteiro do arquivo web.config:

    <?xml version="1.0"?>
    
    <configuration>
      <appSettings>
        <add key="webpages:Version" value="1.0.0.0"/>
        <add key="ClientValidationEnabled" value="true"/>
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
    
        <!--<add key="DOMINIO" value="http://www.meudominio.com.br"/>-->
        <!--<add key="DOMINIO_MOBILE" value="http://www.meudominio.com.br/mobile"/>-->
        <!--<add key="CAMINHO_FISICO" value="e:/home/teste/web"/>-->
    	<add key="CAMINHO_FISICO" value="h:\root\home\teste-001\www\teste"/>
        
        <add key="NOREPLY_MAIL" value="email"/>
        <add key="EMAIL_ADMIN" value="email"/>
        <add key="SENHA_ADMIN" value="senha"/>
        <add key="EXTENSOES_PERMITIDAS" value="jpg,jpeg,gif,png,tiff,bmp"/>
    
        <add key="SAMBATECH_API_KEY" value="536a0cd24da2c5aab662e344ad0dd925"/>
    
        <add key="VIMEO_CLIENT_ID" value="235eaf0395cbaea0ce61e15d726dd904778af849"/>
        <add key="VIMEO_CLIENT_SECRET" value="4b95602a4b7b5acf3d71591b973a884801125732"/>
        <add key="VIMEO_ACCESS_TOKEN" value="3d59806e52f75cb4f2eeb78d90494b23"/>
        <add key="VIMEO_ACCESS_TOKEN_SECRET" value="920967a6299aefd62d17c42dc20e303b8936a650"/>
      </appSettings>
    
      <connectionStrings>
        <!--Minha connection string-->
      </connectionStrings>
    
      <system.net>
        <mailSettings>
          <smtp>
                <!--Email-->
          </smtp>
        </mailSettings>
      </system.net>
    
      <system.web>
        <customErrors mode="Off"/>
    
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
          </assemblies>
        </compilation>
    
        <authentication mode="Forms">
          <forms loginUrl="~/" timeout="2880" />
        </authentication>
    
        <globalization culture="pt-BR" uiCulture="pt-BR"/>
    
        <pages>
          <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages"/>
          </namespaces>
        </pages>
      </system.web>
    
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
        <staticContent>
          <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
        </staticContent>
    	<httpErrors errorMode="Detailed" />
      </system.webServer>
    
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    O .NET framework do servidor é 4.x 

    Windows Communication Foundation eu não estou achando mas o site não utiliza wcf.

    Em relação ao Pool de aplicativos sou um pouco leigo e estou estudando sobre, mas também não estou achando nada relacionado nesse servidor. Unica coisa que achei foi um "Create .Net App" que não tem nenhum criado na minha conta. Importante ressaltar que já transferi um outro website com essa mesma conta e que foi super rapido e já está funcionando perfeitamente.

    terça-feira, 18 de novembro de 2014 01:56
  • Bom dia,

    Esse erro pode acontecer por uma série de detalhes...algum erro no web.config, configuração errada de framework no pool de aplicativos, framework não instalado no servidor.

    A sua aplicação usa o .net framework 4.0, então é importante verificar se o pool de aplicativos também está com essa configuração.

    Dê uma olhada no link abaixo, é um post criado no fórum de IIS com essa mesma dúvida. 

    http://forums.iis.net/t/1189309.aspx?The+page+cannot+be+displayed+because+an+internal+server+error+has+occurred+

    Abs.


    Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx

    terça-feira, 18 de novembro de 2014 10:13
  • Justamente Rafa, veja isso no seu servidor:

    Note que, no caso a minha aplicação está apontada para o site "CentralWeb" que tem um pool de aplicativos de mesmo nome. Ele tem como Framework alvo, o ".Net Framework v2.0.50727", porque a aplicação que escrevi foi feita em cima desse framework. Você tem que ter certeza que a sua aplicação, no Pool, está marcada como ".Net Framework v4.xxxxxxx".

    Apenas click e veja.

    terça-feira, 18 de novembro de 2014 11:24
  • Outra coisa, esse projeto tem AJAX. Veja se as bibliotecas do AJAX estão presentes no servidor para o qual você migrou. Elas não são nativas no Framework.
    terça-feira, 18 de novembro de 2014 11:26
  • Rafa com relação ao seu problema vc relatou que foram perdidos os fontes. É o seguinte, tenho um projeto onde foram criadas constantes onde essa constantes apontam para o caminho físico do site, isso no codebehind, caso vc mude essa estrutura não vai funcionar pq essa configuração está na dll do projeto e como vc não tem os fontes não tem como alterar essas informações na DLL. 

    Pode ser esse o seu problema. Aconselho a vc verificar todo a estrutura que havia no servidor antigo e replicar no novo.


    Junior

    terça-feira, 18 de novembro de 2014 15:04
  • Pessoal,

    Obrigado por tentar ajudar. Quanto as configurações no IIS não tenho acesso ao IIS mesmo, mas sim a um painel e nesse painel a configuração está sim para .NET framework 4.x no modo integrado.

    Junior com relação ao que você disse sobre uma constante no codebehind eu pensei sobre essa possibilidade mesmo, mas acredito que não já que tenha a key na web.config: CAMINHO_FISICO . Entende? E o que achei estranho é que essa key estava com as barras do caminho fisico voltadas para direita / ou seja, q eu saiba esse seria um caminho virtual. De qualquer maneira testei colocar o novo caminho com as barras dos dois jeitos e não funcionou.

    Sammuel não estou achando essas bibliotecas pelo painel, porém acredito que não seja isso, pois migrei um outro site que utiliza ajax para o servidor que está funcionando normalmente.

    De qualquer maneira obrigado pelas tentativas. :(

    terça-feira, 18 de novembro de 2014 16:59
  • Então calma lá, pode ter mais uma coisa :)

    Você mostrou esse trecho:

        <!--<add key="DOMINIO" value="http://www.meudominio.com.br"/>-->
        <!--<add key="DOMINIO_MOBILE" value="http://www.meudominio.com.br/mobile"/>-->
        <!--<add key="CAMINHO_FISICO" value="e:/home/teste/web"/>-->
    	<add key="CAMINHO_FISICO" value="h:\root\home\teste-001\www\teste"/>

    Nele, você tem a chave "CAMINHO_FISICO" (e outra comentada que era a original), beleza. E as chaves "DOMINIO_MOBILE" e "DOMINIO"? Elas estão comentadas (que eram as originais, certo?) mas onde estão as novas?

    Veja, o programa pode precisar que as chaves estejam lá de qualquer forma. A chave "CAMINHO_FISICO", você trocou o valor, e a chave continua presente, porém quando o programa carrega, ele pode DEPENDER de que o web.config tenha TODAS AS CHAVES presentes. Então tente preencher o "DOMINIO" e o "DOMINIO_MOBILE" para ver se funciona.

    quarta-feira, 19 de novembro de 2014 11:25
  • Sammuel,

    Fiz o teste com as keys sem o comentário também e o erro continua :(

    Mas de qualquer maneira valeu pela ajuda.

    sexta-feira, 21 de novembro de 2014 20:34