1 applicationhost.config 파일 (문서의 IISExpress 폴더에 있음)을 편집 한 후 사이트 바인딩은 다음과 같아야합니다.
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
바인딩은 세 부분으로 구성됩니다. 먼저 IP 주소 또는 목록 또는이 경우 와일드 카드입니다. 두 번째는 포트 번호이고 세 번째는 호스트 이름, 목록 또는 와일드 카드 ( Host
헤더 별 필터링 용 )입니다. 개발 목적으로는 고유 한 포트를 사용할 가능성이 높으므로 여기서 와일드 카드가 가장 적합합니다.
2 비 localhost 바인딩을 사용하고 있으므로 추가 권한이 필요합니다. VS를 관리자로 실행할 수도 있고, 가급적 이면 필요한 권한을 부여하기 위해 URL ACL 을 추가 해야 합니다 . 아래 예에서는 모든 사람에게 권한이 부여되지만 자신의 사용자 이름을 사용할 수 있습니다.
참고 : 이 urlacl
바인딩과 정확히 일치해야합니다. 따라서 urlacl
for http://*:8080
는의 바인딩을 허용 하지만 후자가 전자의 하위 집합이더라도의 바인딩은 허용 *:8080:*
하지 않습니다 *:8080:localhost
. 즉, 와일드 카드를 사용하는 대신에 호스트 헤더를 나열 applicationhost.config
하는 urlacl
경우 각각에 대해 일치하는 항목 을 추가해야합니다 .
외부 트래픽에 대해 HTTP.sys를 구성하는 단계는 예약 된 포트를 사용하도록 사이트를 설정하는 것과 유사합니다. Windows 7 또는 Windows Vista의 경우 관리자 권한 명령 프롬프트에서 다음 명령을 실행합니다.
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
Windows XP의 경우 상승 된 권한의 명령 프롬프트에서 다음 명령을 실행합니다.
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
참고 2 VS를 관리자로 실행하거나 ACL 항목을 추가해도 문제가 해결되지 않으면 명령 줄에서 IIS Express를 실행하고 바인딩 등록 실패 메시지가 있는지 확인합니다. 명령 줄에서 시작하려면 다음 명령을 입력하십시오.
iisexpress.exe /site:"your-site-name"
3 마지막으로 적절한 방화벽 항목이 필요합니다. 이를 위해 "고급 보안이 포함 된 Windows 방화벽"콘솔을 사용하는 것이 가장 쉽습니다.
"인바운드 규칙"에서 "새 규칙 ..."을 선택합니다.
- 규칙 유형은 "사용자 지정"입니다.
- 프로그램은 서비스-> 사용자 지정 ...-> 서비스에만 적용됩니다. (IIS Express는 서비스가 아니지만 사용하는 HTTP 멀티플렉서입니다.)
- 프로토콜은 TCP입니다.
- 특정 포트 : 모든 IIS Express 바인딩에 대한 모든 포트를 나열합니다. 이 규칙으로 돌아와서 언제든지 포트를 추가 할 수 있습니다. (이 작업이 번거로워지면
40000-65534
Visual Studio에서 사용하는 전체 범위를 포함 하는 범위를 추가 할 수 있지만 보안 수준이 떨어집니다.)
- 작업은 "연결 허용"입니다.
- 프로필은 다음 중 하나입니다. 확실하지 않은 경우 "도메인 + 개인"을 선택하십시오.
- "도메인", 회사 데스크톱이고 로컬 도메인에서만 실행되는 경우
- "도메인 + 개인"회사가 아닌 환경의 개인 개발 컴퓨터이거나 집에서 작업 할 때도 작업해야하는 회사 노트북 인 경우.
- 비 개인 네트워크에서 데모를 수행해야하는 경우 "도메인, 개인 및 공용".
- 이름은 "IIS Express Dev Server"와 같은 형식이어야합니다.