programing

IISExpress를 실행하는 로컬 호스트에 연결하려고 할 때 ERR_CONNECTION_REFUSED를 해결하는 방법-오류 502 (Visual Studio에서 디버그 할 수 없음)?

nasanasas 2020. 10. 7. 07:45
반응형

IISExpress를 실행하는 로컬 호스트에 연결하려고 할 때 ERR_CONNECTION_REFUSED를 해결하는 방법-오류 502 (Visual Studio에서 디버그 할 수 없음)?


이것은 Windows Server 2008에서 실행되며 몇 달 전에 작동했습니다. 방금 VS와의 일부 개발 작업을 위해이 서버를 다시 사용하고 있습니다.

이것은 몇 개의 테스트 사이트를 제공하는 데 사용되는 라이브 웹 서버이기도합니다.

이것은 Visual Studio를 실행 한 다음 디버깅을 위해 프로젝트를 시작할 때 발생했습니다.

localhost:xxxxIISExpress가 시작될 때 모든 사이트를 시작하려고 시도합니다 (구성의 실제 포트 번호를 사용하여 다른 사이트에 액세스) :

This webpage is not available

ERR_CONNECTION_REFUSED

나는 다른 사람들이 비슷한 문제를 가지고 있다는 것을 읽었 기 때문에 이미 며칠 동안이 일을 왔으며 .net 4.5의 "v4.0"에서 "v4.0.30319"로 변경하는 것을 포함하여 내가 읽은 대부분의 것을 시도했습니다. managedruntimeversion이전에이 작업을 수행해야 함) 로깅 모듈을 비활성화하고 (모든 제안은 여기 에서 찾을 수 있음 ).

hosts파일에는 내부 서버 IP 주소를 가리키는 항목이 두 개뿐입니다 . 어떤 localhostIP 나 참조를 관련이 없습니다.

IIS Express와 Visual Studio 2013을 다시 설치했습니다. 또한 WebApplication이 문제를 해결하기 위해 새로운 사이트를 만들었습니다 (단순하고 다른 복잡한 바인딩 없음).

Fiddler를 실행하면 페이지에 다음이 표시됩니다.

[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

피들러 캡처

IE의 LAN 연결 섹션에서 모든 프록시 설정을 제거했습니다. 이전 에 VS에서 IISExpress 와 같은 것을 시작할 수 없음을 나타내는 red-x 팝업이 표시 되었습니다 .

이것은 SSL과 비 SSL의 문제가 아닙니다.

TFS 서버를 설치했습니다. 방해하는 이상한 바인딩이있는 경우를 대비하여 제거했습니다.

IISExpress config / settings 폴더를 여러 번 삭제하려고했습니다.

현재 applicationhost.config 에는 다음이 포함됩니다.

<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" />

에 대한 태그가 있었으면합니다 really-stuck.

새 서버를 가동하는 것만 큼 멀리 가고 싶지 않으므로 멀리 제안하십시오.

-업데이트-

URL 표시 줄에 컴퓨터 이름이나 IP 주소를 입력하면 : xxxx ERR_CONNECTION_TIMED_OUT대신 ERR_CONNECTION_REFUSED.


프로젝트에서 포트 번호를 변경 하시겠습니까?

프로젝트 속성 → 웹 → 서버 → 프로젝트 URL :

여기에 이미지 설명 입력

를 클릭 Create Virtual Directory하거나 포트 번호를 변경 한 후 가상 디렉터리를 만들 것인지 묻는 메시지에 "예"라고 응답 하는 것을 잊지 마십시오 ! ( 코너 에게 감사드립니다 )

참고 : 문제가 무엇인지 또는 원인이 무엇인지 알지 못하기 때문에 답변으로 게시하는 것을 조금 꺼려하지만 비슷한 문제가 있었고 포트 번호를 변경하면 트릭이 나왔습니다. 나는 이것이 다른 사람에게도 효과가 있다는 의견의 제안에 따라 이것을 게시하고 있습니다.

제 경우에는 제가 사용하고있는 특정 포트 번호와 충돌하는 것처럼 보였기 때문에 다른 번호로 변경했고 제 사이트가 바로 백업되었습니다! 이전 포트 번호가 무엇을 의미하는지 또는 다시 사용할 수 있는지 잘 모르겠습니다. 나보다 더 많은 지식이있는 사람이이 문제에 착수 할 수있을 것입니다.


모든 답변에 감사드립니다. 나는 그들 모두를 시도했지만 그들 중 누구도 나를 위해 일하지 않았습니다. 작업 한 것은 .vs 폴더 (프로젝트 / 솔루션 폴더에 있음)에서 applicationhost.config를 삭제하고 새 가상 디렉터리 (프로젝트 속성> 웹> 가상 디렉터리 만들기)를 만드는 것입니다. 이것이 다른 사람을 도울 수 있기를 바랍니다.


이 문제는 최근에 애플리케이션 구성에서 IP 주소 바인딩을 사용했기 때문일 수 있습니다.

문제 해결 단계 :

  • 관리자에서 아래 명령을 실행하면 명령 터미널에 액세스합니다.

netsh http 표시 iplisten

아래와 같은 것이 보이면이 솔루션이 도움이되지 않을 수 있습니다.

IP 수신 목록에있는 IP 주소 :

0.0.0.0

0.0.0.0과 다른 것이 표시되면 아래 단계를 시도하여이 문제를 해결하십시오.

  • 상승 된 명령 터미널에서이 명령을 연속적으로 실행하십시오.

netsh http delete iplisten ipaddress = 11.22.33.44 (여기서 11.22.33.44는 제거해야하는 실제 IP 임)

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

이제 issexpress가 localhost 바인딩에 들어오는 모든 핑을 수신하도록 설정되었습니다.


내 컴퓨터에서이 문제를 해결했습니다. 아마도 그것은 어떤 사람들에게는 효과가있을 것입니다. 다른 사람에게는 그렇지 않을 수도 있지만 여기에 저에게 효과적이었습니다.

IIS에서는 기본 웹 사이트 (또는 앱을 실행중인 웹 사이트)에 https에 대한 바인딩을 추가해야했습니다.

여기에 이미지 설명 입력

이제 내 로컬 호스트는 Visual Studio에서 디버깅 할 때 작동합니다.


제 경우에는 관리 권한없이 IIS를 시작했기 때문에 발생했습니다. IIS를 관리자로 시작하고 사이트를 시작했을 때 제대로 작동했습니다.


Sam의 솔루션이 저에게 효과적 이었지만 영구 솔루션으로 관리자로 실행하고 싶지 않았습니다.

이것이 내 경우에 해결 한 방법입니다.

  1. CMD를 관리자로 실행
  2. "netsh http show urlacl"을 입력하고 관련 포트가있는 예약 된 URL을 찾습니다.
  3. "netsh http delete urlacl url = YourReservedUrlHere"를 입력합니다.

그 후 관리자 권한 없이도 앱을 실행할 수 있습니다. 그러나 외부 컴퓨터에서 내 앱을 탐색하는 기능이 망가졌습니다. 지금은 충분히 가까워요.


나는 같은 문제가 있었다. 다음 단계를 시도했습니다.

  1. Visual Studio 2017 종료
  2. [solutionPath] .vs \ config \ applicationhost.config를 제거했습니다.
  3. 솔루션을 다시 열고 [Create Virtual Directory]를 클릭했습니다.
  4. 실행 시도 => ERR_CONNECTION_REFUSED
  5. 실패한

또 다른 시도 :

  1. Visual Studio 2017 종료
  2. [solutionPath] .vs \ config \ applicationhost.config를 제거했습니다.
  3. . \ Documents \ IISExpress \ config \ applicationhost.config를 제거했습니다.
  4. 솔루션을 다시 열고 [Create Virtual Directory]를 클릭했습니다.
  5. 실행 시도 => ERR_CONNECTION_REFUSED
  6. 실패한

또 다른 시도 :

  1. Visual Studio 2017 종료
  2. [solutionPath] .vs \ config \ applicationhost.config를 제거했습니다.
  3. . \ Documents \ IISExpress \ config \ applicationhost.config를 제거했습니다.
  4. C : \ Windows \ System32 \ drivers \ etc \ hosts에 127.0.0.1 localhost 추가
  5. 솔루션을 다시 열고 [Create Virtual Directory]를 클릭했습니다.
  6. 실행 시도 => ERR_CONNECTION_REFUSED
  7. 실패한

작동 원리 :

  1. Visual Studio 2017을 닫습니다.
  2. [solutionPath] .vs \ config \ applicationhost.config를 제거하십시오.
  3. "컴퓨터 인증서 관리"를 시작하고 개인-> 인증서에서 인증서 "localhost"를 찾습니다. 여기에 이미지 설명 입력
  4. 해당 인증서 제거 (사용자의 책임하에 수행)
  5. 시작 제어판 \ 모든 제어판 항목 \ 프로그램 및 기능
  6. "IIS 10.0 Express"(또는 자체 IIS Express 버전)를 찾습니다.
  7. "복구"를 클릭하십시오 여기에 이미지 설명 입력
  8. 솔루션을 다시 열고 [Create Virtual Directory]를 클릭했습니다.
  9. 웹 프로젝트를 시작하십시오.
  10. 이 질문을 받게됩니다 : 여기에 이미지 설명 입력. "예"를 클릭하십시오.
  11. 이 질문을 받게됩니다 : 여기에 이미지 설명 입력. "예"를 클릭하십시오.
  12. 이제 작동합니다.

제 경우에는 무한 루프 / 스택 오버플로로 인해 발생했습니다.


Visual Studio를 시작하여이 문제를 해결했습니다 Run as administrator. 프로젝트를 로컬 IIS에 게시하려는 경우에도 필요합니다.

이것을 영구적으로 설정하려면 :-

  1. Visual Studio 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
  2. 고르다 Properties
  3. 딸깍 하는 소리 Advanced
  4. Run as administrator체크되어 있는지 확인
  5. OK끝까지 클릭하십시오 .
  6. Visual Studio 시작, 프로젝트로드 및 디버깅 시작

프로젝트 속성-> 디버그로 이동하여 SSL을 활성화하고 브라우저에서 주소를 사용하여 문제를 해결했습니다.

여기에 이미지 설명 입력


Rebuild All은 나를 위해 일했습니다. VS2013, IIS Express.


In my case, my co-worker changed the solution name so that after I get latest version of the project, I run my web application with IIS EXPRESS, then I got the message ERR_CONNECTION_REFUSED in my google chrome.

After I try all the solution that I find on the internet, finally I solved the problem with these steps :

  1. Close VS
  2. Delete the .vs folder in the project folder 여기에 이미지 설명 입력

  3. Run As Administrator VS

  4. Open Debug > [Your Application] Properties > Web

  5. Change the port in Project URL and don't forget using https because in my case, when I'm using http it still did not work.

  6. Click Create virtual directory

  7. Run the application again using IIS EXPRESS.

  8. And the web application ran successfully.

Hope these helps.


Make sure you have a start page specified, as well. Right click on the .aspx page you want to use as your start page and choose "Set as start page"


A simple work around(it worked for me) is use the IP address instead of localhost. This should be fine for your development tasks.


I tried a lot of methods on Chrome but the only thing that worked for me was "Clear browsing data"

Had to do the "advanced" version because standard didn't work. I suspect it was "Content Settings" that was doing it.


I recently encounter this issue when I copy the source code from another machine.

-> Delete the .vs folder (it is hidden folder, so make sure you have enable view hidden folder option)
-> open visual studio and build your project. Visual studio will create new .vs folder as per current system configuration


While probably not related to your problem, I had the same issue today. As it turns out, I had enabled an URL Rewrite module to force my site to use HTTPS instead of HTTP and on my production environment, this worked just fine. But on my development system, where it runs as an application within my default site, it failed...
As it turns out, my default site had no binding for HTTPS so the rewrite module would send me from HTTP to HTTPS, yet nothing was listening to the HTTPS port...
There's a chance that you have this issue for a similar reason. This error seems to occur if there's no proper binding for the site you're trying to access...


This may be relevant to a certain subset of people with this issue...perhaps in a different flavor.

I was forcing an https redirect on RELEASE.

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

그리고 내 iis 익스프레스에서 https가 활성화되지 않았습니다. DEBUG에서 올바르게 작동

참고 URL : https://stackoverflow.com/questions/32190881/how-to-solve-err-connection-refused-when-trying-to-connect-to-localhost-running

반응형