HTTP erro 503.O serviço esta indisponivel. O pool de aplicativos para ao acessar o site

167

Existem várias postagens sobre isso e eu tentei muitas coisas até agora. Mas sem sucesso. Eu mesmo, desenvolvedor da Winforms, basicamente comecei a trabalhar nessas coisas da Web alguns dias atrás, enquanto minha empresa tomava iniciativas na Web.

Eu tenho um projeto ASP.Net e quero hospedá-lo no IIS local. Nas Project properties -> Webconfigurações eu escolhi Use Local IIS Servere deu um URL como localhost/MyApp. Tentei acessá-lo no meu navegador firefox e recebi um erro comoHTTP Error 503. The service is unavailable.

Anteriormente, recebi muitos outros erros e corrigi-os um por um. Mas impressionado com este. Estas são as configurações que tenho no meu projeto

  1. Conjunto de aplicativos definido como ASP.Net v4.0 Classic
  2. A Enable 32 bit Applicationpropriedade Pool de aplicativos é verdadeira
  3. Pool de aplicativos iniciado
  4. Propriedade de construção do projeto definida para Any CPUa estrutura de Destino

Mas eu gostaria de mencionar um comportamento estranho. A seguir é algo que eu estou enfrentando

  1. Pool de aplicativos iniciado
  2. Eu tento acessar meu site local (dando url como localhost/MyApp)
  3. Eu recebo o erro como HTTP Error 503. The service is unavailable
  4. O pool de aplicativos está parado

Eu vi o link a seguir e já tentei. Pelo comportamento acima, cheguei aqui . De acordo com este link, o nome do computador não deve estar .nele. Eu não tenho nenhum .no nome do meu computador, mas tenho -nele. Também o meu nome de domínio contém .. Além disso, não posso alterar essas configurações, pois é o laptop do meu escritório e nossas configurações de TFS estão vinculadas aos nossos nomes de domínio e computador.

Alguém pode me ajudar a entender o que está acontecendo? Por favor me guie. Obrigado.

Editar

Eu tenho o seguinte código Global.asax. Application_BeginRequestO método está vazio no mesmo arquivo.

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

Atualizar

De acordo com as sugestões no comentário, sou capaz de executar o site da Cassini.

Sandy
fonte
Você tem algum código no seu Global.asax que é executado no início do aplicativo? Algo que pode estar preso em um loop? Você ativou, Enable 32 bit Applicationmas está usando DLLs apenas de 32 bits?
CodingIntrigue 29/10
O que acontece quando você o executa na Cassini?
Simon Whitehead
@RGraham: Eu tenho a propriedade de construção do projeto definida como Any CPU. Então, eu acho que as DLLs usadas não devem ser um problema. Consulte a edição do código Global.asax. Obrigado
Sandy
@SimonWhitehead: Não faço ideia do que é a Cassini. Eu baixei agora do cassinidev.codeplex.com . Eu posso ver algumas dlls e exe nos arquivos baixados. Poderia me ajudar como usá-lo? Enquanto isso, tentarei ler sobre esse assunto a partir de fontes da Internet.
Sandy
@SimonWhitehead: Consigo rodar o site da Cassini.
Sandy

Respostas:

315

Um possível motivo para isso acontecer é que o Pool de aplicativos no IIS está configurado para ser executado em alguma conta personalizada e essa conta não existe ou uma senha incorreta foi fornecida ou a senha foi alterada. Veja as propriedades avançadas do pool de aplicativos no IIS para a conta que ele usa.

Além disso, o Log de Eventos pode conter mais informações sobre o motivo pelo qual o Pool de Aplicativos está parando imediatamente na primeira solicitação.

insira a descrição da imagem aqui

Darin Dimitrov
fonte
38
No meu caso, esse foi o problema. Alterei minha senha do Windows e meu IIS local para Windows 8.1 parou de funcionar. Eu tive que atualizar cada projeto em vários lugares. No IIS 8, tive que atualizar as credenciais no pool de aplicativos clicando com o botão direito do mouse no pool e clicando em "Configurações avançadas -> Modelo de Processo -> Identidade". Então eu tive que atualizar o site em si, indo para "Sites -> mySite -> Configurações avançadas -> Credenciais caminho físico"
teynon
4
Mesmo que a conta exista e a senha esteja correta, ela pode ter sido desativada; isso causaria os mesmos sintomas.
Wolfgang
2
Sim, essa é a solução. A senha da minha conta é alterada com muita frequência. E eu esqueci de dar a nova senha nas "Configurações avançadas"
mihkov 08/09/16
2
verificar o log de eventos é o caminho a percorrer, sempre me ajudou nessas questões, da última vez que verifiquei o log de eventos e descobri que havia uma falha ao carregar o rewrite.dll no iis, fui a programas e recursos no painel de controle, reparou a instalação e tudo voltou ao normal.
Amr Elgarhy 28/09/16
3
Tivemos uma alteração recente de senha. Essa foi a solução. Para outros, veja a captura de tela aqui: i.imgur.com/rp8bnGy.png
AskYous
43

Ok, eu tenho outra solução para um caso específico: se você usa o WINDOWS 10 e atualizou recentemente (com o pacote de atualização de aniversário), você precisa seguir as etapas abaixo:

  1. Verifique seu Windows Event Viewer- pressione Win + R e digite: e eventvwr, em seguida, pressione ENTER.
  2. No lado esquerdo, Windows Event Viewerclique em Windows Logs-> Application.
  3. Agora você precisa encontrar alguns ERROS para a fonte IIS-W3SVC-WPna janela do meio.
  4. Provavelmente você verá uma mensagem como:

A DLL do módulo >> caminho para a DLL << falhou ao carregar. O dado é o erro.

  1. Você tem que ir para Control Panel -> Program and Featurese, dependendo de qual dll não pode ser carregada, é necessário reparar outro módulo:
    • for rewrite.dll- localize o IIS 2 Rewrite Module 2 e clique emChange ->Repair
    • para aspnetcore.dll- encontre o Microsoft .NET Core 1.0.0 - VS 2015 Tooling ... e clique em Change-> Repair.
  2. Reinicie o seu computador.
1_bug
fonte
Esta resposta me ajudou a solucionar um problema semelhante. Erro "Serviço indisponível" corrigido pela remoção do Core 2.2 (o reparo sozinho não foi corrigido). up vote.
22418 Roberto
2
A resposta aceita não ajudou. Isso fez. Obrigado!
Advogado do diabo
1
ótima resposta, o log me mostra O DLL do módulo C: \ Windows \ System32 \ inetsrv \ compdyn.dll falhou ao carregar. O dado é o erro. então eu instalo a compactação dinâmica de conteúdo
Mehdi Daustany
Para mim, foi: The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.então eu instalei o Select Server Side
Include
14

Para minha situação, minha senha de login foi alterada, enquanto o pool de aplicativos ainda usa a antiga. Então, basta clicar em "Configurações avançadas" do seu pool de aplicativos e redefinir sua "Identidade".

David
fonte
Concordo que isso acontece com bastante frequência
Sandy
11

Eu estava enfrentando o mesmo problema e depurei-o usando os logs de eventos. Primeiro, dizia que: "A descrição para o ID do evento 5059 da fonte Microsoft-Windows-WAS não foi encontrada".

Em seguida, ativei o WAS usando ativar / desativar os recursos do Windows . Então eu vi isso em eventvwr "Microsoft-Windows-DistributedCOM não pode ser encontrado".

Por fim, desisti e excluí o Pool de aplicativos (que costumava parar de acessar o site) e o criei novamente, como ele é. Isso resolveu o problema.

Tarun
fonte
E se acontecer de você ter um monte de sites que referenciam o mesmo pool de aplicativo, você pode usar appcmd para batch-update -los: appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
drzaus
Trabalhou para mim também. Ao atualizar de 2008 para 2012, os pools de aplicativos não ficaram totalmente felizes.
Anthony Horne
6

Para quem vem aqui com o Windows 10 e depois de atualizá-los para a atualização de aniversário, verifique este link. Isso me ajudou:

https://orcharddojo.net/blog/trou Troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update

Caso o link fique inoperante: Se o log de eventos mostrar que o aspnetcore.dll, reescreva.dll (na maioria das vezes, mas também podem ser outros) falhou ao carregar, você deverá reparar os itens ausentes.

Aqui estão dois problemas específicos que enfrentamos até agora e como corrigi-los, mas você pode encontrar outros completamente diferentes:

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".
Zoran P.
fonte
6

Na maioria das vezes, ocorreu devido à configuração do AppPool.

Verifique o seguinte para resolver isso

  1. Verifique se o serviço Apppool está em execução.
  2. Verifique a identidade do AppPool.
  3. Digite a nova senha se ela tiver sido alterada para essa identidade.

As imagens a seguir mostram essas configurações no IIS

insira a descrição da imagem aqui

Hassan Nazeer
fonte
5

Se você possui o McAfee HIPS e se vir o seguinte erro no log do aplicativo visualizador de eventos:

A DLL do módulo C: \ Windows \ System32 \ inetsrv \ HipIISEngineStub.dll falhou ao carregar.
O dado é o erro.

Em seguida, o seguinte resolveu o problema no meu caso: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

Citação da página:

  1. Clique em Iniciar, Executar, digite explorer e clique em OK.
  2. Navegue para:% windir% \ system32 \ inetsrv \ config
  3. Abra o arquivo applicationHost.config como administrador para edição no bloco de notas.
  4. Edite a seção <globalModules> e remova a seguinte linha:
    <add name = "MfeEngine" image = "% windir% \ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. Edite a seção <modules> e remova a seguinte linha:
    <add name = "MfeEngine" />

  6. Depois de terminar de editar o arquivo applicationHost.config, salve o arquivo e reinicie o servidor IIS usando o iisreset ou reiniciando o sistema.
Orhan Celik
fonte
5

No meu caso, verifiquei os logs de eventos e encontrei o erro Não foi possível ler o arquivo de configuração 'tentando ler os dados de configuração do arquivo' \\? \ ', Número da linha' 0 '. O campo de dados contém o código de erro.

O código de erro foi 2307.

Excluí todos os arquivos em C: \ inetpub \ temp \ appPools e reiniciei o iis. Isso corrigiu o problema.

Abhishek Agrawal
fonte
4

Eu tive uma questão semelhante. Eu o resolvi adicionando meu usuário à diretiva "Fazer logon como um trabalho em lotes" em "Diretiva de segurança local"> "Diretivas locais"> "Atribuição de direitos do usuário".

thd
fonte
4

Quando adicionei o serviço pela primeira vez e criei o pool de aplicativos para ele. Eu fiz "iisreset" no prompt de comando e funcionou.

Swapnil Kale
fonte
3

Se você pode executar o site no depurador do Visual Studio, poderá ver onde no seu código o pool de aplicativos está travando. No meu caso, foi uma função chamada recursivamente um número ilimitado de vezes e causou um estouro de pilha. Nota: o log de eventos do Windows e os logs do IIS não foram úteis para diagnosticar o problema.

humbads
fonte
3

Eu tive o mesmo problema com o iis 8.5. Depois de pesquisar o eventViewer no Windows Logs -> applications, percebi que estou tendo um erro de permissão para o arquivo machine.config da estrutura .net localizado em "C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ machine.config ". Conceder uma permissão para IIS_IUSRS resolveu meu problema (clique com o botão direito do mouse no arquivo -> propriedades -> segurança -> editar -> adicionar -> IIS_IUSRS)

Dror T
fonte
3

Eu estava enfrentando esse erro e, no meu caso, a causa foi que, há algum tempo, modifiquei a senha do usuário e o erro 503 não apareceu até reiniciar o pool de aplicativos.

Então, eu a corrigi definindo a nova senha em Pools de aplicativos / Configurações avançadas / Identidade / [...] / Definir ... / Senha / Confirmar senha

Miquel
fonte
2

Eu tive um problema semelhante, todos os meus pools de aplicativos paravam sempre que uma solicitação da Web era feita a eles. Embora eu estivesse recebendo o seguinte erro no Visualizador de Eventos:

O processo de trabalho do pool de aplicativos 'appPoolName' encontrou um erro 'O arquivo de configuração não é um XML bem formado' tentando ler os dados de configuração do arquivo '\? \ C: \ inetpub \ temp \ apppools \ appPoolName \ appPoolName.config', linha número 3'. O campo de dados contém o código de erro.

O que me disse que havia erros no application.config em:

C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config

No meu cenário, editei o web.config na implantação com um elemento que o IIS claramente não gosta, o applicationHost.config raspou o web.config e inseriu esse elemento inválido e não resolveria até que eu o removesse manualmente

ShaneC
fonte
"um elemento que o IIS claramente não gosta", qual é o elemento específico que você mencionou?
Akhil
Eu fiz este post mais de 4 anos atrás. Não tenho certeza de qual elemento estava no web.config, mas esse não é o ponto. O problema do pool de aplicativos descrito pelo OP estava acontecendo comigo e eu estava recebendo essas mensagens de erro inúteis. A causa do exposto acima foi que eu coloquei uma entrada incorreta no web.config do meu site. (talvez com um erro de ortografia ou erro de sintaxe ou seção que IIS não reconheceu a ser válido)
ShaneC
2

Além das etapas descritas neste link da resposta de Orhan , pode ser necessário remover adicionalmente o módulo nativo, vá para Gerenciador do IIS> Raiz do servidor> Módulos> Configurar módulos nativos. Selecione MfeEngine e, em seguida, selecione Remover.

dantheman
fonte
2

Alterar o "Modo de pipeline gerenciado" de "Clássico" para "Integrado" funcionou para mim. Pode ser alterado em Pools de aplicativos -> Configurações básicas

MartinS
fonte
Isso corrigiu meu problema, que apareceu após a aplicação das seguintes KB do Windows no servidor Windows 2008 R2 executando o IIS 7.5. ### 2019-07 Rollup de segurança e qualidade para o .NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 para Windows 7 e Server 2008 R2 para x64 (KB4507420) Mais informações: support.microsoft.com/kb/4507420 ###
phanf
1

Só para acrescentar a estas Anniversary Updatequestões (graças Microsoft) se o arquivo que está faltando é cgi.dll, ou seja, o seu Event Viewertem

The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load.  The data is the error.

Então, para corrigir isso:

  1. Vamos para IIS Manager
  2. Selecione a linha superior no Connections painel (normalmente o nome do seu PC)
  3. Na parte inferior do painel direito, abaixo Management, você deve terWeb Platform Installer
  4. Depois que carregar, selecione Products
  5. No tipo de pesquisa cgi, pressione<Enter>
  6. Selecione IIS: CGI, clique Addà direita e, finalmente, Installna parte inferior
  7. Após a instalação, isso deve forçá-lo a reiniciar o PC e você deve ser consertado.
Serj Sagan
fonte
1
O meu foi o "Url Rewrite" que eu desinstalei e reinstalei. Porque eu recebi este erro: "Falha ao carregar a DLL do módulo C: \ WINDOWS \ system32 \ inetsrv \ rewrite.dll. Os dados são o erro."
Gwasshoppa