IIS Express에서 외부 요청을 활성화하는 방법은 무엇입니까?


466

IIS Express에서 원격 요청을 어떻게 활성화 할 수 있습니까? 스캇 거 트리 (Scott Guthrie)는 이것이 가능하다고 했지만 어떻게 말하지 않았다.


25
Jim

@ Jim Jim, 당신은 플러그인의 제작자입니까? 소프트웨어 엔지니어링의이 기적이 어떻게 작동하는지 설명해 주시겠습니까?
Ian Warburton

@IanWarburton 기적이라고 불러 주셔서 감사합니다! 리버스 프록시 서버입니다.
짐 W는 모니카

@JimW 감사합니다.
Ian Warburton

@ Jimim 나는 플러그인을 시도하고 자습서에서 말한 것처럼 모두 수행합니다. 하지만
여전히

답변:


403

IIS 팀 사이트 에 IIS Express에서 원격 연결활성화 하는 방법을 설명하는 블로그 게시물이 있습니다 . 다음은 해당 게시물의 관련 부분을 요약 한 것입니다.

Vista 및 Win7의 경우 관리 프롬프트에서 다음 명령을 실행하십시오.

netsh http add urlacl url=http://vaidesg:8080/ user=everyone

XP의 경우 먼저 Windows XP 서비스 팩 2 지원 도구를 설치하십시오. 그런 다음 관리 프롬프트에서 다음 명령을 실행하십시오.

httpcfg set urlacl /u http://vaidesg1:8080/ /a D:(A;;GX;;;WD)


121
503 오류가 발생하면 다음을 참조하십시오 : stackoverflow.com/questions/5442551/…
deerchao

5
모든 호스트 이름에서 netsh연결을 허용 하는 명령이 있습니까?
대령 패닉

33
영어 이외의 언어로 Windows 컴퓨터를 사용하는 경우 레코드의 매개 변수는 user={PARAM_USER}사용자의 언어로되어 있습니다.
GoRoS

7
url-parameter에서 와일드 카드를 사용하면 (예 : url = http : // * : 8080 /) 호스트 이름과 컴퓨터의 IP 주소 모두에서 연결이 작동합니다.
Anders

2
명령이 실패한 경우 (아마 1789 오류) 명령이 PC 언어로 사용자에게 기대하는 것을 고려하십시오. 예를 들어 PC가 포르투갈어 인 경우 user=todos대신을 사용하십시오 user=everyone.
Vitor Canova

350

변경해야 할 세 가지가 있습니다.

  1. 모든 IP 주소 및 호스트 이름에 바인딩하도록 IIS Express 자체에 지시하십시오. 당신에 .config파일. 일반적으로
    • VS 2015 : $(solutionDir)\.vs\config\applicationhost.config
    • <VS 2015 : %userprofile%\My Documents\IISExpress\config\applicationhost.config

사이트의 바인딩 요소를 찾아서 추가하십시오.

    <binding protocol="http" bindingInformation="*:8080:*" />
  1. 'http.sys'라는 Windows 비트를 설정하십시오. 관리자로서 다음 명령을 실행하십시오.
    netsh http add urlacl url=http://*:8080/ user=everyone

everyoneWindows 그룹은 어디에 있습니까 ? "Tout le monde"와 같이 공백이있는 그룹에는 큰 따옴표를 사용하십시오.

  1. Windows 방화벽을 통한 IIS Express를 허용하십시오.

    고급 보안 / 인바운드 규칙 / 새 규칙을 사용하여 시작 / Windows 방화벽 ...

    프로그램 %ProgramFiles%\IIS Express\iisexpress.exe
    또는 포트 8080 TCP

이제 시작 iisexpress.exe하면 다음과 같은 메시지가 나타납니다

"hello world"애플리케이션 "/"에 대한 URL "http : // * : 8080 /"을 성공적으로 등록했습니다


22
NB 지역화 된 버전의 Windows를 실행하는 경우 (2 단계)에 users=everyone대한 매개 변수 로 netsh1789 오류가 발생할 수 있습니다. 해결 방법은 everyone사용자 언어로 해당 그룹 이름 으로 변환 하는 것입니다.
mflodin

5
바인딩을 수락하는 Visual Studio 프로젝트를 어떻게 얻습니까? 프로젝트 속성에서 지정하는 Project Url경우 호스트 이름에 별표를 입력하면 오류가 발생합니다. 다른 것을 입력하면 새로운 가상 디렉토리를 만들려고 시도합니다. application.config의 항목에 연결되지 않습니다.
Trevor Elliott

20
Visual Studio에서 작동하게하려면 1 단계 bindingInformation="*:8080:hostname"와 2 단계 에서 컴퓨터의 호스트 이름을 사용해야 url=http://hostname:8080/하고 웹 탭의 Visual Studio 웹 프로젝트 속성에서 Project Url을로 설정해야 http://hostname:8080/합니다. *이미 생성 한 경우 urlacl을 삭제하십시오 . 둘 다 있으면 작동하지 않습니다. 마지막으로 웹 브라우저에서 이동하는 URL은 localhost가 아닌 호스트 이름을 참조해야합니다.
Joe Daley

5
bindings 요소에도 localhost 줄이 있어야했습니다. 그렇지 않으면 Visual Studio 2013에서 중복 사이트 항목을 만들려고했습니다. 예 :<binding protocol="http" bindingInformation="*:8080:localhost" />
kristianp

3
또한 Visual Studio를 관리자로 실행해야했지만이 답변이 가장 철저했습니다.
dlsso

127

몇 달 전에이 워크 플로를 시도하는 동안 동일한 문제가 발생하는 것을 기억합니다.

어떤 내가 이런 종류의 시나리오를 위해 특별히 간단한 프록시 유틸리티를 쓴 이유 : https://github.com/icflorescu/iisexpress-proxy .

IIS Express 프록시를 사용하면 "netsh http add urlacl url = vaidesg : 8080 / user = everyone"또는 "applicationhost.config"를 엉망으로 만들 필요가 없습니다.

명령 프롬프트에서 이것을 발행하십시오.

iisexpress-proxy 8080 to 3000

… 그리고 원격 장치가 http : // vaidesg : 3000 을 가리킬 수 있습니다 .

대부분의 경우 단순할수록 좋습니다.


3
훌륭한 솔루션에 감사드립니다!
Summer-Time

1
그리고 Azure가 applicationhost.config 파일을 자동 생성하고 바인딩 변경 사항을 지우기 때문에 이와 같은 Node.js 솔루션이 Azure에서 안정적으로 작동하는 유일한 솔루션이라고 덧붙일 수 있습니다.
TheHansinator

1
ngrok이 예상대로 작동하지 않으면 (IIS Express 구성 조작을 수행하지 않았기 때문에) ngrok와 함께 Mac에서 IIS Express 프록시를 사용하기 시작했습니다. 매우 편리합니다! 감사합니다.
codingoutloud

1
이것은 지금까지 가장 쉬운 솔루션입니다. 필요하지 않으면 applicationhost.config를 엉망으로 만드는 것을 선호하지 않습니다.
skalpin

4
훌륭한 솔루션! 이제 돌아가서 IIS Express로 만든 혼란을 취소하십시오.
Mitch Stewart

123

iisexpress-proxy를 찾을 때까지 아무것도 작동하지 않았습니다 .

관리자 권한으로 명령 프롬프트를 연 다음 실행

npm install -g iisexpress-proxy

그때

iisexpress-proxy 51123 to 81

Visual Studio 프로젝트가 localhost : 51123에서 열리고 외부 IP 주소 xxxx : 81에서 액세스한다고 가정합니다.

편집 : 나는 현재 사용하고 있습니다 ngrok


7
고통없는 솔루션
bahadir

4
내가 찾을 수있는 가장 쉬운 해결책. iisexpress를 전달하는 것 이상으로 사용할 수 있기 때문에 패키지를 웹 프록시와 같은 이름으로 바꿔야합니다.
Mario Tacke

8
@xgp-안녕하세요, 저는 iisexpress-proxy의 저자입니다 :-) 결국 당신을 위해 작동하게 되었습니까? 명령 프롬프트를 닫았다가 다시 열어야하거나 드물게 os를 다시 시작해야합니다. 더 궁금한 점이 있으면 프로젝트 페이지 ( github.com/icflorescu/iisexpress-proxy )에 줄을 남겨 주시면 시간이 있으면 도와 드리겠습니다.
Ionut-Cristian Florescu

1
그것을 사용하고 친절한 말에 감사드립니다 :-). @MarioTacke - 그래, 나도 알아,하지만 더 많은 사람들이 그냥이 iisexpress 프록시 :-)라고하는 경우 - 보내고 Google에서 찾을 수 있습니다
누트 - 크리스티안 Florescu

1
Btw, 이것은 Windows 인증에서 작동하지 않습니다.
Tom

35

이에 대한 주석으로 :

netsh http add urlacl url=http://vaidesg:8080/ user=everyone

영어 버전의 Windows에서만 작동합니다. 지역화 된 버전을 사용하는 경우 "모두"를 다른 것으로 바꿔야합니다. 예를 들면 다음과 같습니다.

  • 네덜란드어 버전을 사용할 때 "Iedereen"
  • 독일어 버전을 사용할 때 "Jeder"
  • 헝가리어 버전 사용시 "민 덴키"

그렇지 않으면 오류가 발생합니다 (SDDL 작성 실패, 오류 : 1332).


33

좋은 자원은 개발 시간이 IISExpress에 쉽게에서 SSL과 함께 작업 스콧 Hanselman은에 의해.

다음은 포트 80을 통해 외부에서 IIS Express를 제공하기 위한 섹션입니다.


이 블로그 게시물에서는 포트 80을 "IISExpressWeb.exe"로 격리하는 것이 좋습니다. IIS Express의 현재 버전에는이 이름의 exe가 없습니다. IISExpress.exe와 IISExpressTray.exe 만 있습니다. 연결을 분리하여 외부와의 연결을 방지합니다. 프로세스 제한을 제거하면 연결이 가능합니다. 대상으로 지정할 .exe는 무엇입니까?
Chris Moschini 2016 년

33

Visual Studio를 사용하는 경우 다음 단계에 따라 IP-Adress를 통한 IIS-Express에 액세스하십시오.

  1. ipconfigWindows 명령 줄에서 호스트 IP 주소 얻기
  2. 이동

    $(SolutionDir)\.vs\config\applicationHost.config
  3. 찾기

    <site name="WebApplication3" id="2">
       <application path="/" applicationPool="Clr4IntegratedAppPool">
          <virtualDirectory path="/" physicalPath="C:\Users\user.name\Source\Repos\protoype-one\WebApplication3" />
       </application>
       <bindings>
         <binding protocol="http" bindingInformation="*:62549:localhost" />
       </bindings>
    </site>
  4. 추가 : <binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
    IP 주소로

  5. 관리자 권한으로 Visual Studio를 실행하면 모든 것이 작동합니다.
  6. 원격에서 연결하려고하면 방화벽 문제가 있는지 확인하십시오.

20

Visual Studio Professional 2015에서 "Conveyor by Keyoti"를 설치하여 문제를 해결했습니다. 컨베이어는 외부 요청을 가능하게하는 포트 (45455)로 REMOTE 주소 (IP)를 생성합니다. 예:

여기에 이미지 설명을 입력하십시오

컨베이어 (없이 안드로이드 에뮬레이터 네트워크에 또는에서 외부 태블릿 및 휴대 전화에서에서 당신 테스트 웹 응용 프로그램을 할 수 있습니다 http://10.0.2.2:<hostport>)

단계는 다음 링크에 있습니다.

https://marketplace.visualstudio.com/items?itemName=vs-publisher-1448185.ConveyorbyKeyoti


@ kilianeller 답변의 링크를 따라 가서 질문하십시오. 우리는 당신을 도울 수 있습니다.
짐 W는 모니카가

Workst !!, 나는 다른 모든 솔루션 (change applicationhost.config, netsh, IPv6 adress ..)과 아무것도 증명하지 못하지만, 이것을 마침내 설치하면 유일한 작은 문제는 IP 주소를 잘못 지시했지만 심각한 문제는 아닙니다.
이온

설치가 정말 쉽습니다. 확장 프로그램의 페이지에 지시 된대로 원격 브라우저에 인증서를 추가하십시오.
Andres

믿을 수 없어요! 너무 간단하고 우아합니다 !!! 나는 빈 솔루션을 찾기 위해 지난 5 시간을 보냈고 마침내 이것을 잊어 버렸습니다!
Ziggy192

10

Panic 대령의 답변 을 시도했지만 Visual Studio에서 작동하지 않는 경우 다음을 시도하십시오.

<binding />IIS Express 구성에서 다른 항목 추가

<bindings>
    <binding protocol="http" bindingInformation="*:8080:localhost" />
    <binding protocol="http" bindingInformation="*:8080:hostname" />
</bindings>

마지막으로 Visual Studio를 관리자 권한으로 실행 해야합니다


불행히도, 그것은 나를 위해 작동하지 않는 것 같습니다. 포트 8080에서 내 로컬 IP에 액세스하려고 할 때 여전히 연결이 거부됩니다
Thomas Teilmann

@ThomasTeilmann은 Visual Studio에서 웹 응용 프로그램의 속성을 열고 웹 탭에서 "프로젝트 Url"을 변경하여 localhost 대신 대체 호스트 이름을 사용했습니다.
Sam

@ThomasTeilmann, Oh 그리고 IP 대신 호스트 이름으로 찾아야한다고 생각합니다.
Sam

사실, 그것도 모두 노력, 그리고 클라우드 인스턴스에 대한 작업 일부러 : / 그래도 감사합니다
토마스 Teilmann

이것은 나를위한 대답이었습니다 (즉, 관리자로 VS를 실행하십시오)-감사합니다 @Bruce. 또한 방화벽 설정을 수동으로 수정해야했습니다. 필자의 경우 (즉, 내 아이폰이 내 dev 시스템을 탐색 할 수 있는지 테스트 한) 방화벽에서 포트 8080을 열면 작동하지 않지만 (허?) IP로 액세스를 열 수 있습니다 (예 : Scope> Local IPs = 10.0.0.0/24 = 내 집) 네트워크) 트릭을했다.
Ilan

8

도움이 된 것은 'IISExpress'아이콘, '모든 응용 프로그램 표시'를 마우스 오른쪽 버튼으로 클릭하는 것이 었습니다. 그런 다음 웹 사이트를 선택하고 사용하는 aplicationhost.config를 보았으며 수정이 완벽했습니다.

IISExpress 구성


2
이 답변에 동의 applicationHost.config 파일을 편집, 다른 솔루션에 저를 지적 55,665를 : : 대신에 *의 : 55665 : 로컬 호스트
의 Deko

감사합니다 @Deko-귀하의 의견과 다른 답변에 언급 된 netsh 명령과 함께 저에게 도움이되었습니다.
Marcel Popescu

8

이것은 Visual Studio 2015가 설치된 Windows 10에서 http 및 https를 사용하여 원격 액세스를 활성화하기 위해 수행 한 작업입니다.

첫 번째 단계는 응용 프로그램을 내부 IP 주소에 바인딩하는 것입니다. 실행 cmd-> ipconfig주소를 가져옵니다. 파일을 열고 /{project folder}/.vs/config/applicationhost.config다음과 같은 것을 찾을 때까지 아래로 스크롤하십시오.

<site name="Project.Web" id="2">
    <application path="/">
        <virtualDirectory path="/" physicalPath="C:\Project\Project.Web" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:12345:localhost" />
    </bindings>
</site>

아래에 두 개의 새 바인딩을 추가하십시오 bindings. 다음과 같은 경우 HTTPS를 사용할 수도 있습니다.

<binding protocol="http" bindingInformation="*:12345:192.168.1.15" />
<binding protocol="https" bindingInformation="*:44300:192.168.1.15" />

방화벽에 다음 규칙을 추가하고 cmdadmin 으로 새 프롬프트를 열고 다음 명령을 실행하십시오.

netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=12345 profile=private remoteip=localsubnet action=allow

netsh advfirewall firewall add rule name="IISExpressWebHttps" dir=in protocol=tcp localport=44300 profile=private remoteip=localsubnet action=allow

이제 Visual Studio를로 시작하십시오 Administrator. 웹 프로젝트 프로젝트 파일을 마우스 오른쪽 단추로 클릭하고을 선택하십시오 Properties. Web탭으로 이동하여을 클릭하십시오 Create Virtual Directory. Visual Studio가 관리자로 실행되지 않으면 실패 할 수 있습니다. 이제 모든 것이 작동합니다.

여기에 이미지 설명을 입력하십시오


나를 위해 일했다! :) 여기에도
Leniel Maccaferri

나는 ngrok를 포함하여 다른 모든 것을 시도했지만 아무 소용이 없었습니다. 이것은 첫 번째 시도에서 작동했습니다.
kooldave98

5

이 질문에 대한 대답은 IIS Express가 웹 매트릭스와 작동하도록하는 안내서입니다. 이 안내서 가 VS 2010에서 작동하도록 할 때 더 유용하다는 것을 알았습니다 .

방금 3 단계와 4 단계 (IIS Express를 관리자로 실행)를 따라 방화벽을 일시적으로 해제하여 방화벽을 작동시켜야했습니다.


적어도 내 견해로는 IIS 또는 다른 원격 서버를 사용하는 것이 좋거나 나을 것입니다 (IIS에서 원격 디버깅을 설정할 수 있기 때문에). IIS Express에 localhost없이 실행하기 위해 관리자 권한이 필요하지 않은 경우에는 작동합니다. 매우 성가신.
Chris Moschini

이것이 바로 내가 찾던 것입니다-감사합니다! 난 비주얼 스튜디오 2010 IIS Express를 사용하고 있는데 내 LAN 상에 ASP.NET MVC3 응용 프로그램을 테스트 할 거라고, 이것은 내가 :) 일에 그 필요한 것이었다
라세 크리스티안

5

IIS Express 구성을 수정하거나 새 HTTP.sys 규칙을 추가하거나 Visual Studio를 관리자로 실행하는 대신 포트 전달을 설정할 수 있습니다.

기본적으로 IP:PORT웹 사이트 실행은 로컬 호스트가 아닌 외부 네트워크 어댑터의 컴퓨터의 다른 사용 가능한 포트로 전달해야합니다.

문제는 IIS Express (적어도 Windows 10에서는) [::1]:port가 IPv6 포트에서 수신 대기한다는 의미에 바인딩됩니다 . 이 점을 고려해야합니다.

이 작업을 수행 한 방법은 다음과 같습니다 -http : //programmingflow.com/2017/02/25/iis-express-on-external-ip.html

도움이 되길 바랍니다.


Windows 10을 실행 중이며 localhost를 IPv6에 바인딩하는 것이 핵심이었습니다. 감사!
TomaszGuzialek

구성하려는 컴퓨터에 다른 로컬 주소가 있습니다. 이름은 "local-dev"입니다. 추가 v4tov6 listenport = 3000 connectaddress = local-dev connectport = 60000 을 바인딩 하여 작동시켜야했습니다. 좋은 포스트, 감사합니다!
Anika

4

내가 찾은 가장 간단하고 멋진 방법은 사용하는 것입니다 (설정하는 데 2 ​​분이 걸립니다).

https://ngrok.com/

localhost에서 실행되는 모든 작업에서 작동합니다. 가입 만하면 실행이 거의되지 않으며 localhost에서 실행하는 모든 URL은 어디서나 액세스 할 수있는 공개 URL을 얻습니다.

이것은 IIS 설정이나 방화벽을 다루지 않고 원격 팀 동료에게 물건을 보여주는 데 좋습니다. 액세스를 중지하고 실행 파일을 종료하십시오.

ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

ngrok http -host-header=localhost 89230

89230이 IIS Express 포트라고 가정

무료 요금제로도 여러 포트를 실행할 수 있습니다


1
해결책을 얻을 때까지 누가 이렇게 많은 응답을 읽어야한다고 생각
하겠습니까

3

Win 8.1 및 외부 요청에서 IIS Express를 사용하는 데 문제가 있습니다.

다음 단계에 따라 외부 요청을 디버깅하십시오.

  1. IIS 설치
  2. 로컬 IIS를 사용하도록 Visual Studio 구성 (웹 프로젝트의 페이지 속성)
  3. 내 응용 프로그램과 함께 작동하도록 IIS에서 독점 AppPool을 만듭니다.
  4. 내 프로젝트에서 Oracle Client를 사용하고 있으며 32 비트 (64 비트는 Visual Studio에서 작동하지 않음)이어야하며 응용 프로그램 풀에서 32 비트를 허용해야합니다
  5. 포트 80에서 요청을 허용하도록 Windows 방화벽 구성 (인바운드 규칙)

작동합니다!


2

관리자에서 Visual Studio를 실행하면 바로 추가 할 수 있습니다

<binding protocol="http" bindingInformation="*:8080:*" />

또는

<binding protocol="https" bindingInformation="*:8443:*" />

으로

%userprofile%\My Documents\IISExpress\config\applicationhost.config

1
이 구성을 $(SolutionDir).vs\config\applicationHost.config적용하고 Windows 방화벽에서 응용 프로그램의 포트 (8443)를 열어야했습니다.
Tonatio

2

로컬 IIS를 사용하도록 설정 했으므로 방금 디버깅 포트에 다시 쓰기 규칙을 만들었습니다. 개발이 완료되면 제거하기가 더 쉽기 때문에 다른 방법보다 낫고 멋지다고 생각합니다 ... 여기에 다시 쓰기가 표시됩니다. .

<rewrite>
    <rules>
        <rule name="ReverseProxyInboundRule1" stopProcessing="true">
            <match url="^dev/(.*)" />
            <action type="Rewrite" url="http://localhost:47039/{R:1}" />
        </rule>
    </rules>
</rewrite>

VS를 사용하면 로컬 IIS를 직접 사용하여 개발할 수 있습니다 (원격 연결 허용).하지만 항상 관리자로 실행해야합니다 ... 싫습니다.


이것은 제가 가장 좋아하는 솔루션입니다. 고마워요 :) IIS에 대해 리버스 프록시를 먼저 활성화 한 다음이 규칙을 web.config에 추가해야했습니다.
Mahdi Ghiasi

1

리버스 프록시 접근 방식을 사용 하여이 문제를 해결했습니다.

wamp 서버를 설치하고 Apache 웹 서버의 간단한 리버스 프록시 기능을 사용했습니다.

Apache 웹 서버 (8081)를 수신하기 위해 새 포트를 추가했습니다. 그런 다음 해당 포트의 가상 호스트로 프록시 구성을 추가했습니다.

<VirtualHost *:8081>
ProxyPass / http://localhost:46935/
ProxyPassReverse / http://localhost:46935/
</VirtualHost>

1

나는이 모든 단계를 수행했지만 아무것도 도움이되지 못했습니다. 그리고 내가 필요한 것은 IIS Express를 통해 내 앱을 실행하는 것입니다 ...

여기에 이미지 설명을 입력하십시오

도움이 되길 바랍니다.


0

로컬 네트워크의 다른 사용자에게 iis 요청을 제공 할 수 없었습니다. 위의 사항 외에 BT 허브 라우터를 다시 시작하기 만하면됩니다.


0

이것은 엄청나게 훌륭하고 도메인 이름이 예쁜 HTTPS를 포함합니다.

http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx

위의 링크가 사라지는 경우를 대비하여 다른 곳에서는 찾을 수 없었던 정말 멋진 부분 :

> C:\Program Files (x86)\IIS Express>IisExpressAdminCmd.exe Usage:
> iisexpressadmincmd.exe <command> <parameters> Supported commands:
>       setupFriendlyHostnameUrl -url:<url>
>       deleteFriendlyHostnameUrl -url:<url>
>       setupUrl -url:<url>
>       deleteUrl -url:<url>
>       setupSslUrl -url:<url> -CertHash:<value>
>       setupSslUrl -url:<url> -UseSelfSigned
>       deleteSslUrl -url:<url>
> 
> Examples: 1) Configure "http.sys" and "hosts" file for friendly
> hostname "contoso": iisexpressadmincmd setupFriendlyHostnameUrl
> -url:http://contoso:80/ 2) Remove "http.sys" configuration and "hosts" file entry for the friendly  hostname "contoso": iisexpressadmincmd
> deleteFriendlyHostnameUrl -url:http://contoso:80/

위의 유틸리티는 SSL 인증서를 등록합니다! -UseSelfSigned 옵션을 사용하면 매우 쉽습니다.

어려운 일을하고 싶다면 분명하지 않은 부분은 HTTP.SYS에게 다음과 같이 사용할 인증서를 알려주는 것입니다.

netsh http add sslcert ipport=0.0.0.0:443 appid={214124cd-d05b-4309-9af9-9caa44b2b74a} certhash=YOURCERTHASHHERE

Certhash는 MMC의 인증서 속성에서 얻을 수있는 "지문"입니다.


0

나는 다음을 수행하고 연결할 수있었습니다.

1) IIS Express 구성 바인딩을 로컬 호스트에서 '*'로 변경했습니다.

바인딩 프로토콜 = "http"bindingInformation = "* : 8888 : *"

2) 프로토콜 유형에 대한 특정 포트를 허용하도록 방화벽에서 정의 된 인바운드 규칙 : tcp

3) 다음 명령을 추가하여 포트의 네트워크 구성을 추가하십시오. netsh http add urlacl url = http : // * : 8888 / user = everyone


질문을받은 지 6 년 후이 질문에오고 있으며 이미 12 개의 다른 답변이 있으므로 , 다른 12보다 답변이 더 잘 작동하는 방법을 설명하기 위해 ed 를 편집하는 것이 가장 좋습니다. 은 다르다).
Heretic Monkey

0

외부 요청에 액세스하는 또 다른 방법은 IIS Express 대신 IIS를 사용하는 것입니다. 비주얼 스튜디오에서 쉽게 전환 할 수 있습니다.

여기에 이미지 설명을 입력하십시오


VS2019를 사용하고 있습니다.
PJ3

-1

[프로젝트 속성 대화 상자]

VisualStudio 2017 및 NetCore API 프로젝트를 사용하여 개발하는 경우 :

1) Cmd-Box에서 : ipconfig / all을 사용하여 IP 주소를 결정

2a) 프로젝트 속성-> 디버그 탭에서 검색된 IP 주소를 입력하십시오.

2b) 포트를 선택하고 2a 단계에서 IP 주소에 연결하십시오.

3) 방화벽에 허용 규칙을 추가하여 선택한 포트에서 들어오는 TCP 트래픽을 허용합니다 (내 방화벽은 "방화벽에 규칙 차단 또는 추가"대화 상자로 트리거 됨). 이 경우 트릭을 추가하십시오.

위의 솔루션의 단점 :

1) 동적 IP 주소를 사용하는 경우 다른 IP 주소가 할당 된 경우 위 단계를 다시 수행해야합니다.

2) 서버에 이제는 잊을 수있는 열린 포트가 있지만이 열린 포트는 원치 않는 손님을위한 초대입니다.

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