IIS7 사이트 결합 (예 : foo.domain.com)을 프로그래밍 방식으로 정의 할 수 있습니까?
-
03-07-2019 - |
문제
IIS7 웹 사이트의 경우 IIS7 서비스 관리자로 가서 사이트의 모든 바인딩을 정의해야했습니다. 잘 작동합니다.
대신 web.config 파일에서 프로그램적 으로이 작업을 수행 할 수 있는지 궁금하십니까? 나는 당신이 거기에 몇 가지 IIS7 설정을 제공 할 수 있다는 것을 알고 있습니다. 바인딩도 포함 할 수 있는지 확실하지 않습니까?
예를 들어.
- http; 할당되지 않은 모든 IP; 포트 80; foo.domain.com
- https; 192.168.0.2; 포트 443; blah.domain.com
해결책
구성은 Parent ApplicationHost.config의 구성 파일에 있습니다. 그러나 재정의 할 수 있는지 확실하지 않습니다. 예를 들어 IIS 표현에서 원하는 섹션은 다음과 같습니다.
<system.applicationHost>
...
<sites>
<site name="Development Web Site" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_BIN%\AppServer\empty_wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080: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="IISExpressAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
</system.applicationHost>
당신은 달리기를 시도 할 수 있습니다 (죄송합니다 - 직접 시도하지 않았습니다) :
비
그러나 보안 관점에서 한 사이트의 구성이 다른 모든 사이트를 중단 할 수 있으므로 web.configs가 System.applicationHost를 개별적으로 혼란스럽게하는 것이 합리적이지 않습니다.
다른 팁
Microsoft.web.administration 네임 스페이스를 참조하십시오. 그런 다음 C# 코드에서 대부분의 IIS 7의 대부분을 구성하고 마니를 할 수 있습니다.
유틸리티도 있습니다 APPCMD 이를 통해 IIS 7.0의 거의 모든 것을 조작 할 수 있습니다. 이 도구에는 수많은 옵션과 스위치가 있음을 경고합니다. 응용 프로그램에서 물리적 디렉토리 변경과 같은 가장 기본적인 작업에만 사용했습니다.
제휴하지 않습니다 StackOverflow