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


100

이것은 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.


답변:


100

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

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

여기에 이미지 설명 입력

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

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

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


1
이것은 나를 위해 일했습니다-이 답변에 언급 된대로 브라우저 설정을 수정하는 대신 stackoverflow.com/questions/7227845/…
Don Cheadle

이것은 나를 위해 일했습니다. 포트 번호를 변경 한 후 가상 디렉터리를 변경하라는 메시지가 표시되었습니다.
GraehamF

이것은 나에게도 효과적이었습니다. 어떻게 된 건지 모르겠어요 IIS Express를 중지하고 다음 실행시 오류 만 발생했습니다.
Joseph Ferris

1
포트 번호를 변경 한 후 반드시 'Create Virtual Directory'를 클릭하십시오!
Connor Williams

오늘도 이런 일이 일어났습니다! : / 내 제안이 사람들을 돕는 것이 기쁘지만, 나는 무엇이 잘못되었는지 알아낼 수 있기를 바랍니다. 여기에서 사용 가능한 포트 번호를 천천히
살펴 보겠습니다

37

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


3
VS2013에서 VS2015 솔루션을 열고 잠시 작업 한 다음 VS2015로 돌아 갔을 때 동일한 문제가 발생했습니다. applicationhost.config를 삭제하면 문제가 해결되었습니다.
Gary.Ray

필자의 경우 applicationhost.config 및 Visual Studio를 다시 시작하면 "프로젝트로드 실패"가 발생했습니다. 그때는 프로젝트 속성에 액세스 할 수도 없었습니다.
Alex

34

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

문제 해결 단계 :

  • 관리자 액세스 명령 터미널에서 아래 명령 실행

netsh http 표시 iplisten

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

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

0.0.0.0

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

  • 상승 된 명령 터미널로 다음 셸 명령을 순서대로 실행합니다.

netsh http 삭제 iplisten ipaddress = 11.22.33.44

netsh http add iplisten ipaddress = 0.0.0.0

iisreset

  • (여기 11.22.33.44는 제거해야하는 실제 IP입니다)

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


@Niraj Kumar Chauhan이 날 새싹을 구했습니다! Lifesaver ... 처음에 0.0.0.0이 어떻게 삭제되었는지 확실하지 않지만 다시 추가하면 문제가 해결되었습니다.
Sethles

Power BI Report Server가 제대로 수신하지 않는 이유를 7 시간 검색 한 후 2 초 동안 문제가 해결되었습니다. 감사! 기존 설정에는 0.0.0.0 대신 '::'이 있습니다. 이것은 동일하지 않거나 어떻게 변경되었을 수 있습니까?
MattV

이봐 요! 내 컴퓨터에서 첫 번째 명령은 0 개의 IP 주소를 보여 주었으므로 "add"명령과 "iisreset"명령을 실행했습니다. 그 후에도 여전히 프로젝트를 재배포하고 IIS를 다시 시작해야했지만 제대로 작동했습니다.
Mathew Alden

20

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

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

여기에 이미지 설명 입력

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


참고로, 이것이 문제인지 확인하는 것은 http 바인딩이 이미 있어야하므로 URL에서 https를 http로 변경하는 것입니다.
DubDub

이것은 나를 위해 그것을 고쳤습니다. Visual Studio에 개발자 IIS 서버에 두 번째 앱을 빌드하라고 말했을 때 첫 번째 앱의 바인딩이 삭제 된 것 같습니다.
Mathew Alden

7

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

  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. 이제 작동합니다.

6

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

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

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

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


고마워, 내 문제를 해결했습니다. 예약 된 URL을 삭제 한 후 프로젝트를 다시 빌드하면 관리자 모드없이 완벽하게 작동합니다.
Parveen

5

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


이것이 저에게 답 이었지만, 처음으로 프로젝트를 열었을 때 VS를 관리자로 실행 한 기억이 없습니다.
Stafford Williams

oh yea duh (이마를 때린다)
johntrepreneur

3

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


1

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

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

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

1

필자의 경우 동료가 솔루션 이름을 변경하여 프로젝트의 최신 버전을 얻은 후 IIS EXPRESS로 웹 응용 프로그램을 실행 한 다음 ERR_CONNECTION_REFUSEDGoogle 크롬에 메시지 를 받았습니다 .

인터넷에서 찾은 모든 솔루션을 시도한 후 마침내 다음 단계로 문제를 해결했습니다.

  1. 닫기 VS
  2. .vs프로젝트 폴더에서 폴더 삭제여기에 이미지 설명 입력

  3. 관리자로 실행 VS

  4. 디버그> [응용 프로그램] 속성> 웹을 엽니 다.

  5. 프로젝트 URL에서 포트를 변경하고 https 제 경우에는 사용할 때 http여전히 작동하지 않았기 때문에 사용하는 것을 잊지 마십시오 .

  6. 딸깍 하는 소리 Create virtual directory

  7. IIS EXPRESS를 사용하여 응용 프로그램을 다시 실행하십시오.

  8. 그리고 웹 애플리케이션이 성공적으로 실행되었습니다.

이것이 도움이되기를 바랍니다.


1

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

여기에 이미지 설명 입력



0

시작 페이지도 지정했는지 확인하십시오. 시작 페이지로 사용할 .aspx 페이지를 마우스 오른쪽 버튼으로 클릭하고 "시작 페이지로 설정"을 선택합니다.


0

간단한 해결 방법은 localhost 대신 IP 주소를 사용하는 것입니다. 이것은 개발 작업에 적합합니다.


0

Chrome에서 많은 방법을 시도했지만 저에게 효과가 있었던 유일한 방법은 "인터넷 사용 기록 삭제" 였습니다.

표준이 작동하지 않기 때문에 "고급"버전을해야했습니다. 나는 그것을하는 것이 "콘텐츠 설정"이라고 생각한다.


0

최근에 다른 컴퓨터에서 소스 코드를 복사 할 때이 문제가 발생합니다.

-> .vs 폴더 삭제 (숨겨진 폴더이므로 숨김 폴더보기 옵션을 활성화했는지 확인)
-> Visual Studio를 열고 프로젝트를 빌드합니다. Visual Studio는 현재 시스템 구성에 따라 새 .vs 폴더를 만듭니다.


0

아마도 당신의 문제와 관련이 없지만 오늘도 같은 문제가 발생했습니다. 결과적으로 URL 재 작성 모듈을 활성화하여 내 사이트가 HTTP 대신 HTTPS를 사용하도록 강제하고 프로덕션 환경에서 제대로 작동했습니다. 하지만 내 기본 사이트 내에서 애플리케이션으로 실행되는 개발 시스템에서는 실패했습니다.
결과적으로 내 기본 사이트에는 HTTPS에 대한 바인딩이 없었기 때문에 재 작성 모듈이 HTTP에서 HTTPS로 나를 보내지 만 아무것도 없었습니다. HTTPS 포트 수신 중 ...
비슷한 이유로이 문제가 발생할 가능성이 있습니다. 이 오류는 액세스하려는 사이트에 적절한 바인딩이없는 경우 발생하는 것 같습니다.


0

이 문제가있는 특정 하위 집합의 사람들과 관련이있을 수 있습니다.

RELEASE에서 https 리디렉션을 강요했습니다.

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

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


0

나는 단순히 IIS와 IP 바인딩을 시도했지만 IIS 구성 파일을 엉망으로 만들었습니다. 말 그대로 20 개 이상의 솔루션을 시도했습니다.

  1. 프로젝트 솔루션의 .vs 파일 삭제
  2. IIS 폴더 구성 파일 삭제
  3. IIS 폴더 삭제
  4. VS2019 업데이트
  5. VS2019 수리
  6. 수없이 기계와 VS 재시작
  7. CMS의 다양한 명령
  8. 다양한 소프트웨어 업데이트
  9. 다양한 포트 변경

그러나 다른 사람에게도 효과가 있었던 것은 REPAIRIIS에서

Control Panel\Programs\Programs and Features

그렇지 않으면 이 답변 도 참조 할 수 있습니다.

IIS10 수리


0

스크립트 디버깅이 비활성화되어 있는지 확인

여기에 이미지 설명 입력

위의 몇 가지 제안을 시도했지만 간헐적으로 이것을 얻었습니다. 이것을 비활성화하자마자 내 사이트 디버깅이 꿈처럼 작동했습니다. (우연히 또는 아마도 전생에 그것을 켰다 고 생각하십시오).


0

"실제"IIS를 사용하는 경우 W3SVC (World Wide Web Publishing) 서비스가 중지되면이 문제가 발생할 수 있습니다.

당연한 것처럼 보이지만 실수로 서비스를 중지하거나 수동으로 설정 한 경우 이러한 상황이 발생할 수 있습니다.

나는 제목이 IIS 익스프레스라고 말하는 것을 알고 있지만 -Express 힌트를 사용하더라도 Google은 익스프레스를 필터링하지 않는 것 같으므로 IIS 관련 페이지 대신이 페이지를 찾은 다른 사람에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.