program tip

IIS Express를 IP 주소에 바인딩

radiobox 2020. 8. 11. 08:15
반응형

IIS Express를 IP 주소에 바인딩


이 질문에 이미 답변이 있습니다.

IIS Express를 사용하여 네트워크에서 페이지를 호스트 할 수 있습니까? 상자에서 그것은 localhost를 할 수 있지만 IP 주소에 바인딩하려고합니다.


할 수 있다고 생각합니다.

이렇게하려면 applicationhost.config파일을 수동으로 편집해야합니다 (bindingInformation ' <ip-address>:<port>:<host-name>' 편집 ).

iisexpress를 시작하려면 관리자 권한이 필요합니다.


모든 IP 주소에서 IIS Express 응답을 받으려면 주소를 비워 두십시오.

bindingInformation=":8080:"

변경 사항이 적용되기 전에 IIS Express를 다시 시작하는 것을 잊지 마십시오.


위에서 언급했듯이 애플리케이션 host.config를 편집합니다. 이를 찾는 쉬운 방법은 IIS Express를 사용하여 VS에서 사이트를 실행하는 것입니다. 시스템 트레이 아이콘을 마우스 오른쪽 버튼으로 클릭하고 모든 응용 프로그램을 표시합니다. 사이트를 선택한 다음 하단의 구성 링크를 클릭하여 엽니 다.

다른 바인딩 항목을 추가하고 초기 localhost 항목을 그대로 두는 것이 좋습니다. 이 추가 바인딩은 IIS Express 시스템 트레이에 사이트 아래에 별도의 응용 프로그램으로 나타납니다.

관리자로 VS를 실행하지 않으려면 (관리자로 실행하지 않아야하는 많은 이유가 있음) 다음과 같이 netsh 규칙을 추가하십시오 (분명히 IP 및 포트를 값으로 대체).이를 위해 관리자 cmd.exe가 필요합니다. 한 번만 실행하면됩니다.

netsh http add urlacl url=http://192.168.1.121:51652/ user=\Everyone

netsh는 url = http : // + : 51652 / 와 같은 규칙을 추가 할 수 있지만 IIS Express에서 제대로 배치하지 못했습니다. 를 사용 netsh http show urlacl하여 기존 규칙을 나열 할 수 있으며을 사용하여 삭제할 수 있습니다 netsh http delete urlacl url=blah.

추가 정보 : http://msdn.microsoft.com/en-us/library/ms733768.aspx


다음은 원격 호스트에서 액세스 할 수 있도록 IIS Express를 사용하여 x64 비트 IIS 응용 프로그램을 실행하는 데 필요한 전체 변경 사항입니다.

iisexpress /config:"C:\Users\test-user\Documents\IISExpress\config\applicationhost.config" /site:MyWebSite
Starting IIS Express ...
Successfully registered URL "http://192.168.2.133:8080/" for site "MyWebSite" application "/"
Registration completed for site "MyWebSite"
IIS Express is running.
Enter 'Q' to stop IIS Express

구성 파일 (applicationhost.config)에는 다음과 같은 섹션이 추가되었습니다.

<sites>
  <site name="MyWebsite" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
      <virtualDirectory path="/" physicalPath="C:\build\trunk\MyWebsite" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation=":8080:192.168.2.133" />
    </bindings>
  </site>

64 비트 버전의 .NET 프레임 워크는 다음과 같이 활성화 할 수 있습니다.

<globalModules>
    <!--
        <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" />
        <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
    -->             
    <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

변화 bindingInformation=":8080:"

그리고 IISExpress의 방화벽을 끄는 것을 잊지 마십시오.

참고 URL : https://stackoverflow.com/questions/4866547/binding-iis-express-to-an-ip-address

반응형