IIS7 사이트 결합 (예 : foo.domain.com)을 프로그래밍 방식으로 정의 할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/809826

  •  03-07-2019
  •  | 
  •  

문제

IIS7 웹 사이트의 경우 IIS7 서비스 관리자로 가서 사이트의 모든 바인딩을 정의해야했습니다. 잘 작동합니다.

대신 web.config 파일에서 프로그램적 으로이 작업을 수행 할 수 있는지 궁금하십니까? 나는 당신이 거기에 몇 가지 IIS7 설정을 제공 할 수 있다는 것을 알고 있습니다. 바인딩도 포함 할 수 있는지 확실하지 않습니까?

예를 들어.

  1. http; 할당되지 않은 모든 IP; 포트 80; foo.domain.com
  2. 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의 거의 모든 것을 조작 할 수 있습니다. 이 도구에는 수많은 옵션과 스위치가 있음을 경고합니다. 응용 프로그램에서 물리적 디렉토리 변경과 같은 가장 기본적인 작업에만 사용했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top