Como resolver ERR_CONNECTION_REFUSED ao tentar se conectar ao localhost executando IISExpress - Erro 502 (não é possível depurar do Visual Studio)?

98

Ele está sendo executado no Windows Server 2008 e costumava funcionar há vários meses. Estou usando este servidor novamente para algum trabalho de desenvolvimento com o VS.

Este é um servidor da web ao vivo usado para servir alguns sites de teste também.

Isso surgiu ao executar o Visual Studio e, em seguida, iniciar meus projetos para depuração.

Tentando iniciar qualquer site localhost:xxxxquando o IISExpress foi iniciado (usando o número da porta real na configuração para acessar sites diferentes):

This webpage is not available

ERR_CONNECTION_REFUSED

Já estou nisso há alguns dias, pois li que outros tiveram problemas semelhantes, tentei muitas coisas que li, incluindo alterar managedruntimeversionde "v4.0" para "v4.0.30319" para .net 4.5 (nunca teve que fazer isso antes) e desabilitar o módulo de registro (todas as sugestões encontradas aqui ).

Existem apenas duas entradas em meu hostsarquivo que apontam para endereços IP de servidores internos. Nenhum localhostIP ou referências relacionadas.

Cheguei a reinstalar o IIS Express e o Visual Studio 2013. Também criei um novo WebApplicationsite para tentar resolver isso (ligações simples e sem outras ligações complicadas).

Quando eu giro o Fiddler, vejo o seguinte na página:

[Fiddler] The socket connection to localhost failed. 
ErrorCode: 10061. 
No connection could be made because the target machine actively refused it 127.0.0.1:23162

Captura de violinista

Eu removi todas as configurações de proxy da seção de conexão LAN do IE, onde antes eu estava recebendo um pop - up red-x no VS indicando que algo como o IISExpress não pôde ser iniciado .

Isso não é uma questão de SSL versus não SSL.

Eu tinha o TFS Server instalado - desinstalei-o, caso houvesse algumas ligações estranhas que estivessem interferindo.

Tentei excluir a pasta IISExpress config / settings várias vezes.

O applicationhost.config atual contém:

<site name="WebApplication1" id="4">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\TFS-WorkRepository\Sandbox\WebApplication1\WebApplication1" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:23162:localhost" />
                </bindings>
            </site>
            <siteDefaults>
                <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
                <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
            </siteDefaults>
            <applicationDefaults applicationPool="Clr4IntegratedAppPool" />

Eu gostaria que houvesse uma etiqueta para really-stuck.

Por favor, sugira que não, já que não quero ir tão longe quanto a rodar um novo servidor.

- ATUALIZAÇÃO -

Na barra de URL, quando insiro o nome do computador ou endereço IP: xxxx, recebo o em ERR_CONNECTION_TIMED_OUTvez de ERR_CONNECTION_REFUSED.

ElHaix
fonte

Respostas:

100

Tentar alterar o número da porta em seu projeto?

Propriedades do projeto → Web → Servidores → Url do projeto:

insira a descrição da imagem aqui

Não se esqueça de clicar em Create Virtual Directoryou responder "Sim" ao prompt para criar o diretório virtual após alterar o número da porta! (Obrigado Connor )

Observação: estou um pouco relutante em postar isso como uma resposta, pois não tenho ideia de qual é o problema ou o que o causou, mas eu tive um problema semelhante, e alterar o número da porta funcionou para mim. Estou postando isso apenas por sugestão nos comentários de que isso funcionou para outra pessoa também.

No meu caso, parecia que algo estava em conflito com o número de porta específico que eu estava usando, então mudei para um diferente e meu site voltou a funcionar! Não tenho certeza do que isso significa para o número da porta antiga ou se algum dia serei capaz de usá-lo novamente. Talvez alguém com mais conhecimento do que eu possa intervir sobre isso.

sǝɯɐſ
fonte
1
isso funcionou para mim - em vez de modificar as configurações do navegador conforme mencionado nesta Resposta stackoverflow.com/questions/7227845/…
Don Cheadle
isso funcionou para mim. depois de alterar o número da porta, fui solicitado a alterar meu diretório virtual, que de alguma forma estava incorreto.
GraehamF 01 de
Isso funcionou para mim também. Não faço ideia de como isso aconteceu. Parei o IIS Express e, na próxima execução, nada além do erro.
Joseph Ferris
1
Certifique-se de clicar em 'Criar diretório virtual' depois de alterar o número da porta!
Connor Williams
Isso acabou de acontecer comigo de novo hoje! : / Embora esteja feliz por minha sugestão estar ajudando as pessoas, eu gostaria de poder descobrir o que está errado. Percorrendo lentamente os números de porta utilizáveis ​​aqui: P
sǝɯɐſ
36

Obrigado por todas as respostas. Tentei todos eles, mas nenhum deles funcionou para mim. O que funcionou foi excluir o applicationhost.config da pasta .vs (encontrada na pasta do seu projeto / solução) e criar um novo diretório virtual (Propriedades do projeto> Web> Criar diretório virtual). Espero que isso ajude outra pessoa.

Annie Lagang
fonte
3
Eu tive o mesmo problema quando abri uma solução VS2015 no VS2013 e trabalhei nela por um tempo e depois voltei para o VS2015. Excluir o applicationhost.config resolveu.
Gary.Ray
No meu caso, o applicationhost.config e a reinicialização do Visual Studio resultaram em "falha no carregamento do projeto". Eu não conseguia nem acessar as propriedades do projeto então.
Alex
34

Esse problema pode ocorrer porque, no passado recente, você usou a vinculação de endereço IP na configuração do seu aplicativo.

Etapas para resolver o problema:

  • Execute o comando abaixo no terminal de comando de acesso do administrador

netsh http show iplisten

Se você vir algo como abaixo, esta solução pode não ajudá-lo.

Endereços IP presentes na lista de escuta de IP:

0.0.0.0

Se você vir algo diferente de 0.0.0.0, tente as etapas abaixo para corrigir isso.

  • Execute o seguinte comando shell em ordem com o terminal de comando elevado

netsh http delete iplisten ipaddress = 11.22.33.44

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

  • (Aqui 11.22.33.44 é o IP real que precisa ser removido)

E agora seu issexpress está configurado para ouvir qualquer ping que chegue à ligação do localhost.

Niraj Kumar Chauhan
fonte
@Niraj Kumar Chauhan salvou o botão do dia !! Lifesaver ... Não tenho certeza de como 0.0.0.0 foi excluído em primeiro lugar, mas adicioná-lo de volta resolveu o problema.
Acordo em
Depois de sete horas pesquisando por que o Power BI Report Server não estava ouvindo corretamente: os 2 segundos para fazer isso corrigiram. Obrigado! Nossa configuração existente tinha '::' em vez de 0.0.0.0; Não é o mesmo e / ou como poderia ser alterado?
MattV
Ei, funcionou! No meu computador, o primeiro comando não mostrou nenhum endereço IP, então simplesmente executei os comandos "add" e "iisreset". Depois disso, ainda precisei reimplantar meu projeto e reiniciar o IIS uma segunda vez, mas funcionou.
Mathew Alden
20

Acabei de consertar isso para minha máquina. Talvez funcione para alguns. Talvez não para os outros, mas aqui está o que funcionou para mim.

No IIS, tive que adicionar vínculos para https ao site padrão (ou, suponho, ao site em que você está executando o aplicativo).

insira a descrição da imagem aqui

Agora meu localhost funciona ao depurar do Visual Studio.

Stuart
fonte
Apenas para observar, para verificar se esse é o problema, basta alterar https para http em sua URL, pois a ligação http já deve estar em vigor.
DubDub
Isso consertou para mim. Suspeito que, quando disse ao Visual Studio para construir um segundo aplicativo para meu servidor IIS dev, algo deve ter excluído as ligações do meu primeiro aplicativo.
Mathew Alden
7

Eu tive o mesmo problema. Tentei estas etapas:

  1. Fechou o Visual Studio 2017
  2. Removido o [solutionPath] .vs \ config \ applicationhost.config
  3. Reabriu a solução e clicou em [Criar diretório virtual]
  4. Tentei executar => ERR_CONNECTION_REFUSED
  5. FALHOU

Outra tentativa:

  1. Fechou o Visual Studio 2017
  2. Removido o [solutionPath] .vs \ config \ applicationhost.config
  3. Removido o arquivo. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Reabriu a solução e clicou em [Criar diretório virtual]
  5. Tentei executar => ERR_CONNECTION_REFUSED
  6. FALHOU

Outra tentativa:

  1. Fechou o Visual Studio 2017
  2. Removido o [solutionPath] .vs \ config \ applicationhost.config
  3. Removido o arquivo. \ Documents \ IISExpress \ config \ applicationhost.config
  4. Adicionado 127.0.0.1 localhost a C: \ Windows \ System32 \ drivers \ etc \ hosts
  5. Reabriu a solução e clicou em [Criar diretório virtual]
  6. Tentei executar => ERR_CONNECTION_REFUSED
  7. FALHOU

O QUE FUNCIONOU:

  1. Feche o Visual Studio 2017
  2. Remova o [solutionPath] .vs \ config \ applicationhost.config
  3. Inicie "Gerenciar certificados de computador" e localize o certificado "localhost" em Pessoal-> Certificados insira a descrição da imagem aqui
  4. Remova esse certificado (faça isso por sua própria conta e risco)
  5. Iniciar Painel de controle \ Todos os itens do painel de controle \ Programas e recursos
  6. Localize "IIS 10.0 Express" (ou sua própria versão IIS Express)
  7. Clique em "Reparar" insira a descrição da imagem aqui
  8. Reabra a solução e clique em [Criar diretório virtual]
  9. Inicie o projeto da web.
  10. Você receberá esta pergunta: insira a descrição da imagem aqui. Clique em "Sim"
  11. Você receberá esta Pergunta: insira a descrição da imagem aqui. Clique em "Sim"
  12. Agora funciona.
Lucian
fonte
6

A solução de Sam funcionou para mim, mas eu não queria ser executado como administrador como uma solução permanente.

Foi assim que resolvi no meu caso:

  1. Execute o CMD como administrador
  2. Digite "netsh http show urlacl" e encontre o url reservado com a porta relevante
  3. Digite "netsh http delete urlacl url = YourReservedUrlHere"

Depois disso, eu poderia executar meu aplicativo sem a necessidade de direitos de administrador. Mas isso atrapalhou a capacidade de navegar até meu aplicativo de um computador externo. Perto o suficiente para mim por enquanto.

RoyBS
fonte
Obrigado, resolveu meu problema. Depois de excluir a URL reservada, reconstrua o projeto e ele funcionará perfeitamente sem o modo Admin.
Parveen
5

No meu caso, foi causado ao iniciar o IIS sem direitos administrativos. Quando eu iniciei o IIS como administrador e iniciei o site, ele funcionou bem

sam
fonte
Essa foi a minha resposta, embora não me lembre de ter executado o VS como administrador na primeira vez que abri o projeto quando ele funcionou.
Stafford Williams
oh sim duh (dá um tapa na testa)
johntrepreneur
3

No meu caso, foi causado por um estouro de pilha / loop infinito.

Josh
fonte
1

Resolvi esse problema iniciando o Visual Studio com Run as administrator. Isso também é necessário se você deseja publicar seu projeto no IIS local.

Para definir isso permanentemente: -

  1. Clique com o botão direito no ícone do Visual Studio
  2. Selecione Properties
  3. Clique Advanced
  4. Certifique-se de que Run as administratorestá marcado
  5. Clique em OKtudo para sair.
  6. Inicie o Visual Studio, carregue seu projeto e comece a depurar
joehanna
fonte
1

No meu caso, meu colega de trabalho alterou o nome da solução para que, depois de obter a versão mais recente do projeto, eu execute meu aplicativo da web com o IIS EXPRESS e receba a mensagem ERR_CONNECTION_REFUSEDno meu google chrome.

Depois de tentar todas as soluções que encontro na internet, finalmente resolvi o problema com estes passos:

  1. Fechar VS
  2. Exclua a .vspasta na pasta do projetoinsira a descrição da imagem aqui

  3. Executar como Administrador VS

  4. Abra Depurar> Propriedades de [Seu aplicativo]> Web

  5. Mude a porta na URL do projeto e não esqueça de usar https porque no meu caso, quando estou usando httpainda não funcionou.

  6. Clique Create virtual directory

  7. Execute o aplicativo novamente usando o IIS EXPRESS.

  8. E o aplicativo da web foi executado com sucesso.

Espero que isso ajude.

Satria Janaka
fonte
1

Eu resolvi indo em Propriedades do projeto -> Depurar, depois de habilitar SSL e usar o endereço em seu navegador

insira a descrição da imagem aqui

DigaoParceiro
fonte
0

Reconstruir tudo funcionou para mim. VS2013, IIS Express.

JohnWrensby
fonte
0

Certifique-se de ter uma página inicial especificada também. Clique com o botão direito na página .aspx que deseja usar como página inicial e escolha "Definir como página inicial"

Glade Mellor
fonte
0

Uma solução simples (funcionou para mim) é usar o endereço IP em vez de localhost. Isso deve ser adequado para suas tarefas de desenvolvimento.

raj240
fonte
0

Eu tentei vários métodos no Chrome, mas a única coisa que funcionou para mim foi "Limpar dados de navegação"

Tive que fazer a versão "avançada" porque o padrão não funcionava. Eu suspeito que era "Configurações de conteúdo" que estava fazendo isso.

GrowthCode
fonte
0

Recentemente, encontrei esse problema ao copiar o código-fonte de outra máquina.

-> Exclua a pasta .vs (é uma pasta oculta, então certifique-se de habilitar a opção de visualização de pasta oculta)
-> abra o Visual Studio e construa seu projeto. O Visual Studio criará uma nova pasta .vs de acordo com a configuração do sistema atual

Desenvolvedores onipresentes
fonte
0

Embora provavelmente não esteja relacionado ao seu problema, tive o mesmo problema hoje. Acontece que eu habilitei um módulo de reescrita de URL para forçar meu site a usar HTTPS em vez de HTTP e, em meu ambiente de produção, funcionou perfeitamente. Mas no meu sistema de desenvolvimento, onde é executado como um aplicativo dentro do meu site padrão, ele falhou ...
Acontece que meu site padrão não tinha ligação para HTTPS, então o módulo de reescrita me enviaria de HTTP para HTTPS, mas nada foi ouvindo a porta HTTPS ...
É possível que você tenha esse problema por um motivo semelhante. Este erro parece ocorrer se não houver um vínculo adequado para o site que você está tentando acessar ...

Wim ten Brink
fonte
0

Isso pode ser relevante para um determinado subconjunto de pessoas com esse problema ... talvez em um sabor diferente.

Eu estava forçando um redirecionamento https em RELEASE.

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
  filters.Add(new HandleErrorAttribute());
  #if !DEBUG
  filters.Add(new RequireHttpsAttribute());
  #endif    
}

E não havia https habilitado no meu iis express. Funcionando corretamente no DEBUG

Pitada
fonte
0

Eu estava simplesmente tentando ligar o IP com o IIS, mas acabei bagunçando os arquivos de configuração do IIS. Eu literalmente tentei mais de 20 soluções para isso, que incluem

  1. exclusão de arquivo .vs de uma solução de projeto
  2. Exclusão do arquivo de configuração da pasta IIS
  3. Exclusão de pasta IIS
  4. Atualização VS2019
  5. Reparo VS2019
  6. Inúmeras vezes a máquina e o VS reiniciam
  7. vários comandos no CMS
  8. várias atualizações de software
  9. Várias portas mudam

mas o que funcionou e que pode funcionar para outra pessoa também foi o REPAIRIIS de

Control Panel\Programs\Programs and Features

Então você pode se referir a esta resposta , bem

Reparação IIS10

Camaleão
fonte
0

Certifique-se de que a depuração de script está desativada

insira a descrição da imagem aqui

Eu estava recebendo isso de forma intermitente, apesar de ter tentado várias das sugestões acima. Assim que desativei isso, minha depuração em meu site funcionou como um sonho. (Acho que só liguei por acidente, ou talvez em uma vida anterior).

hnodrog
fonte
0

Se você estiver usando o IIS "real", isso pode ocorrer se o serviço W3SVC (Publicação na World Wide Web) for interrompido.

Deve parecer óbvio, mas se você interromper acidentalmente o serviço ou configurá-lo como manual, isso pode acontecer com você.

Eu sei que o título diz IIS Express, no entanto, o Google não parece filtrar o Express mesmo ao usar uma dica -Express, então espero que isso ajude alguém que encontrou esta página em vez de uma específica do IIS.

Justin
fonte