다음을 통해 공유


IIS에서 IIS 관리자 시작

작성자: IIS 팀, 토빈 타이터스

호환성

버전 주의
IIS 7.0 이상 이 문서에 설명된 기능은 IIS 7.0에서 도입되었습니다.
IIS 6.0 이하 이 문서에 설명된 기능은 IIS 7.0 이전에는 지원되지 않았습니다.

소개

IIS 7.0 이상에는 이전 버전의 IIS( IIS Manager)의 새 사용자 인터페이스가 있습니다. 이 문서에서는 모양과 느낌, 기능 위임, 구성과의 상호 작용 및 원격에 대해 설명합니다. IIS의 일부 버전에는 이 문서에서 설명하는 일부 기능/기능이 없을 수 있습니다.

왜 변경해야 했습니까? 다음은 몇 가지 주요 이유입니다.

  • IIS 및 ASP.NET 함께 작동합니다. IIS 6.0 사용자는 웹 사이트를 마우스 오른쪽 단추로 클릭하고 "모든 속성"을 선택하고 다양한 설정에 대한 여러 탭이 있는 대화 상자를 가져옵니다. IIS 7.0 이상을 사용하는 경우 IIS 관리자는 출력 캐싱, 실패한 요청 추적 및 요청 필터링과 같은 새로운 기능에 대한 구성과 .NET Framework의 ASP.NET 및 관련 부분에 대한 구성을 표시해야 했습니다. 새 기능에는 허용되지 않는 옵션인 더 많은 새 탭이 필요했을 것입니다.
  • 위임된 관리: 메타베이스에서 .NET 구성 시스템으로 구성을 이동하면 사용자가 허용되는 경우 web.config 파일에서 IIS 구성을 설정할 수 있습니다. 예를 들어 애플리케이션 http://www.contoso.com/sales 에 대한 구성은 루트 구성 파일 applicationHost.config, site http://www.contoso.com/ web.config 파일 또는 애플리케이션의 web.config 파일에 직접 쓸 수 있습니다. 새 IIS 관리자는 다음을 수행해야 합니다. 1) 관리자가 web.config 파일에서 허용되는 구성을 제어할 수 있도록 허용하고, 2) 구성이 기록되는 관리자/사용자를 표시합니다. 이전 IIS 관리자는 이러한 과제에 달려 있지 않았습니다.
  • 엔지니어링 이유: 소프트웨어의 유효 기간이 있습니다. 시간은 새로운 기술, 새로운 요구 사항, 새로운 규칙을 제공하며, 기존 소프트웨어를 업데이트하면 더 많은 노동 집약적이고 비용이 많이 드는 소프트웨어를 다시 빌드하는 시점이 있습니다. IIS 관리자는 유통 기한이 끝나갈 무렵이었습니다.

알아야 할 다른 사항이 있나요? IIS 관리자를 다시 쓰기로 결정하면 다음과 같은 여러 가지 주요 방법으로 개선할 수 있는 기회를 얻었습니다.

  • 확장성: IIS 6.0 버전의 IIS 관리자를 확장하는 것은 엄청나게 어려웠습니다. 새 IIS 관리자를 사용하면 기능 페이지, 트리 뷰 노드 및 메뉴 항목을 훨씬 쉽게 추가할 수 있습니다. 모두 관리 코드 및 WinForms를 사용합니다. 서버에 연결하는 원격 IIS Manager 클라이언트에서 새 IIS 관리자 확장이 자동으로 검색되고 다운로드됩니다.
  • 원격 관리: 원격 관리는 모두 HTTPS를 통해 수행되므로 방화벽을 더 친숙하고 관리하기 쉽습니다. WMSVC(웹 관리 서비스)는 선택적으로 설치할 수 있는 구성 요소로, 원격 관리를 사용할 수 있습니다.
  • 새로운 모양 및 느낌: IIS 관리자는 설정을 노출하기 위해 더 확장 가능한 모델이 필요했으며 결과 기능 목록 보기는 제어판 유사합니다. 목록 보기는 다양한 방식으로 정렬, 그룹화 및 볼 수 있으므로 원하는 항목을 더 쉽게 찾을 수 있습니다. 또한 IIS 관리자 탐색은 주소 표시줄이 라 Windows 탐색기를 사용하여 브라우저와 같은 느낌을 줍니다.

참고 항목

이 문서는 Windows Server 2008용으로 작성되었습니다. Windows Vista®에는 이 문서에서 설명하는 일부 기능/기능이 없을 수 있습니다.

새로운 모양과 느낌

인터넷 정보 서비스(IIS) 관리자는 이전 릴리스에서 뒤로/앞으로 형식 탐색을 수행했으며, 새 IIS 관리자는 Windows 탐색기처럼 작동하는 주소 표시줄을 추가하여 이 항목을 훨씬 더 멀리 이동합니다.

기본 웹 사이트 홈 페이지를 보여 주는 I S Manager 화면의 스크린샷.

그림 1: 새 IIS 관리자

홈 페이지

IIS 관리자 사용을 시작하는 즉시 홈페이지가 매우 익숙해집니다. 가운데에 있는 기능 목록은 기능 이름 또는 설명을 기준으로 정렬하고, 영역 또는 범주별로 그룹화하고, 다른 레이아웃으로 볼 수 있습니다.

그룹화, 보기 및 기능 목록을 보여 주는 기본 웹 사이트 홈 창의 스크린샷

그림 2: IIS 관리자의 그룹화

기능 범위

트리 보기의 서버, 사이트, 애플리케이션, 가상 디렉터리 및 폴더 노드는 모두 기능 목록이 있는 홈페이지를 표시합니다. 대부분의 기능은 이러한 모든 노드의 홈 페이지에 표시되지만 예외가 있습니다.

이러한 기능은 서버 전체 구성, 데이터 또는 정보이므로 서버 홈페이지표시됩니다.

  • ISAPI 및 CGI 제한 사항
  • 인증서(원격 연결에는 전혀 표시되지 않음)
  • 관리 서비스(원격 연결에는 전혀 표시되지 않음)
  • 작업자 프로세스

이러한 기능은 애플리케이션 구성이며 서버 수준에서 논리적이지 않거나 SSL(더 나은 방식으로 작동하기 때문에) 서버 홈페이지를 제외한 모든 위치에 표시됩니다.

  • 멤버 자격 사용자
  • 멤버 자격 역할
  • 프로필
  • SSL

위임 과 연결된 기능에는 표시되는 위치에 대한 특별한 규칙이 있습니다.

  • 기능 위임: 항상 연결의 루트 노드에 대해서만 나타납니다.
  • 관리자: 서버, 사이트 및 애플리케이션 노드에만 나타납니다.

기능 페이지 레이아웃

IIS에는 세 가지 유형의 페이지가 있습니다.

목록 페이지

목록 페이지에는 목록이 포함되어 있습니다. 대부분의 목록 페이지를 사용하면 하나 이상의 열에 있는 값별로 그룹화할 수 있습니다. 사이트 및 애플리케이션 풀과 같은 기본 목록 페이지를 사용하면 목록 열에서 검색 문자열과 일치하는 항목을 검색하여 목록 항목을 필터링할 수 있습니다.

이동 메뉴 및 작업 창을 보여 주는 I S 관리자 화면의 일부 스크린샷.

그림 3: IIS 관리자 목록 페이지

작업 창에서 작업 추가/편집/제거를 사용하면 목록의 내용을 조작할 수 있습니다. 목록 항목과 관련이 없는 기능 설정(예: 로컬 요청에 대한 자세한 오류로 사용자 지정 오류를 재정의하도록 지정)은 일반적으로 기능 설정 편집... 작업을 통해 구성됩니다.

경고 창을 보여 주는 기능 설정 페이지의 스크린샷.

그림 4: IIS 관리자 작업

Property Grid

속성 표 페이지에는 관련 속성의 표가 표시됩니다. 속성 표 맨 위에 있는 표시 선택기를 사용하면 친숙한 속성 이름, 구성 속성 이름 또는 둘 다를 볼지 여부를 선택할 수 있습니다. 아래 스크린샷에는 두 이름이 모두 표시됩니다.

친숙한 구성 이름을 보여 주는 속성 표 페이지의 스크린샷

그림 5: IIS 관리자의 속성 표

대화 상자

대화 상자 페이지에는 확인란, 텍스트 상자 및 라디오 단추가 있으며 일반적으로 가장 친숙한 유형의 페이지입니다. 작업창에서 적용/취소를 사용하여 변경 내용을 저장합니다.

콘텐츠 뷰

콘텐츠 보기는 읽기 전용 표시입니다. 이 보기에서는 파일 또는 폴더를 만들거나, 복사하거나, 이동하거나, 삭제할 수 없습니다. IIS 관리자 가운데 창의 아래쪽에 있는 기능 보기/콘텐츠 뷰 전환기에서 "콘텐츠 보기"를 클릭하거나 트리 뷰 노드를 마우스 오른쪽 단추로 클릭하고 "콘텐츠 보기로 전환"을 선택하여 콘텐츠 보기에 들어갈 수 있습니다.

파일에 대한 구성을 설정하는 유일한 방법은 콘텐츠 보기로 전환하고, 파일을 선택하고, 마우스 오른쪽 단추 클릭 메뉴 또는 작업창에서 "기능 보기로 전환"을 클릭하는 것입니다.

기능 보기 및 콘텐츠 보기 옵션을 보여 주는 스크린샷.

그림 6: 기능 보기로 전환

기능 위임

서버 관리자이고 서버에서 콘텐츠를 제공하는 기본 사용자가 아니거나 개발자이고 애플리케이션에 대한 IIS 구성을 더 자세히 제어하려는 경우 기능 위임에 관심이 있을 수 있습니다.

IIS 기능 위임 은 다음을 관리하는 것을 의미합니다.

  • web.config에서 설정할 수 있는 구성을 제어하기 위한 구성 섹션 잠금 (일반적으로 하나의 IIS 구성 섹션은 하나의 IIS 모듈임).
  • IIS 관리자를 사용하여 구성을 보고 잠금 해제된 구성 섹션이 있는 기능에 대한 구성을 설정할 수 있는 사이트 및 애플리케이션 사용자 집합

다음은 IIS 관리자의 기능 위임에 대한 간략한 설명입니다. 자세한 연습은 기능 위임을 관리하는 방법을 참조하세요.

구성 잠금

구성 섹션이 기본적으로 "잠긴" 경우 applicationHost.config에서만 구성할 수 있습니다. IIS 관리자는 서버 관리자가 IIS 구성 섹션을 "잠금 해제"할 수 있는 방법을 제공합니다. 구성 섹션이 잠금 해제되면 관리자가 아닌 사용자가 web.config 파일에서 설정할 수 있습니다.

예를 들어 IIS 관리자의 "사용자 지정 오류 페이지" 기능은 "system.webServer/httpErrors" 섹션의 구성과 상호 작용합니다. 서버 관리자가 IIS 관리자 또는 appcmd를 사용하여 system.web/httpErrors 구성 섹션의 잠금을 해제하는 경우 httpErrors 섹션이 applicationHost.config에서 overrideMode="allow"인 위치 태그 내에 표시됩니다.

<location path="" overrideMode="Allow">
    <system.webServer>
        <httpErrors/>
    </system.webServer>
</location>

OverrideMode="allow"는 web.config 파일에서 httpErrors에 대한 구성을 설정하는 것이 유효하다는 것을 의미합니다.

<configuration>
   <system.webServer>
      <httpErrors>
         <remove statusCode="404" subStatusCode="-1" />
         <error statusCode="404" path="/errors/404.aspx" responseMode="Redirect" />
      </httpErrors>
   </system.webServer>
</configuration>

구성 잠금이 연결에 미치는 영향을 확인하려면 아래의 "서버, 사이트 및 애플리케이션 연결" 섹션을 참조하세요. 구성 잠금에 대한 자세한 내용은 구성 잠금을 사용하는 방법을 참조 하세요.

사이트 및 애플리케이션 관리자

또한 서버 관리자는 비관리자가 IIS 관리자를 사용하여 사이트 또는 애플리케이션에 연결할 수 있도록 할 수 있습니다. 사이트 또는 애플리케이션에 연결할 수 있는 비관리자는 "사이트 관리자" 또는 "애플리케이션 관리자"라고 하며 다음을 수행할 수 있습니다.

  • 해당 사이트 또는 애플리케이션에 대해 잠금 해제된 구성 관리(설정은 web.config 파일에 기록됨)
  • 잠긴 구성 설정을 수정할 수 없는 경우 보기
  • 사이트 또는 애플리케이션에 대한 다른 사이트 또는 애플리케이션 관리자 추가

사이트 및 애플리케이션 관리자를 만드는 방법에 대한 자세한 내용은 온라인 설명서 위임용 사이트 및 애플리케이션 관리자 만들기를 참조하세요.

서버, 사이트 및 애플리케이션 연결

컴퓨터 관리자만 IIS 관리자를 사용하여 웹 서버에 연결할 수 있습니다. 서버 연결은 루트 구성 파일, applicationHost.config 및 루트 web.config 및 모든 분산 web.config 파일에 쓸 수 있습니다. applicationHost.config에서 구성 섹션이 잠긴 경우 구성 변경 내용이 위치 태그의 applicationHost.config에 기록되기 때문에 해당 기능은 서버 연결에서 읽기/쓰기가 됩니다.

컴퓨터 관리자 및 지정된 사이트 관리자는 웹 사이트에 연결할 수 있습니다. 사이트 연결은 사이트의 루트 폴더 아래에 있는 web.config 파일에만 쓸 수 있습니다. applicationHost.config에서 구성 섹션이 잠겨 있는 경우 사이트 연결이 applicationHost.config에 구성을 쓸 수 없기 때문에(위치 태그에서도) 해당 기능이 사이트 연결에서 읽기 전용으로 표시됩니다. 이는 컴퓨터 관리자와 사이트 관리자 모두에 영향을 줍니다.

그림 7: IIS 관리자의 구성 계층 구조

애플리케이션의 부모 사이트에 대한 컴퓨터 관리자, 지정된 애플리케이션 관리자 및 사이트 관리자는 애플리케이션에 연결할 수 있습니다. 애플리케이션 연결은 애플리케이션의 루트 폴더 아래에 있는 web.config 파일에만 쓸 수 있습니다. 구성 섹션이 applicationHost.config 또는 사이트의 web.config 파일에 잠겨 있는 경우 해당 기능은 애플리케이션 연결에서 읽기 전용으로 표시됩니다.

서버, 사이트 또는 애플리케이션에 연결하는 방법에 대한 자세한 내용은 IIS 7.0에서 연결 관리에 대한 온라인 설명서를 참조하세요.

구성

구성 잠금을 변경하지 않고 기능 위임을 사용하지 않더라도 어떤 시점에서는 IIS 관리자가 구성을 작성할 위치를 결정하는 방법을 궁금해할 것입니다. 이 동작을 정의하는 두 가지 규칙이 있습니다.

  • ApplicationHost.config 및 루트 Web.config: 기능이 IIS Manager의 ASP.NET 영역에 나열되면 서버 수준 구성이 .NET Framework v2.0의 루트 web.config 파일에 기록됩니다. 기능이 IIS 관리자의 IIS 영역 아래에 나열되면 서버 수준 구성이 applicationHost.config에 기록됩니다. 이 규칙의 유일한 예외는 IIS 영역 아래의 인증 기능에 있는 양식 인증입니다.
  • 잠긴 구성과 잠금 해제된 구성: 모든 ASP.NET 구성 섹션 및 몇 가지 IIS 구성 섹션은 기본적으로 잠금 해제됩니다. 잠금 해제된 섹션의 경우 사이트에 대한 구성이 변경된 경우 IIS 관리자가 사이트의 web.config에 쓰거나 애플리케이션에 대한 구성이 변경된 경우 애플리케이션의 구성을 작성합니다. 대부분의 IIS 구성 섹션은 기본적으로 잠겨 있습니다. 잠긴 섹션의 경우 IIS 관리자는 사이트 및 애플리케이션에 대한 구성을 수정하는 경우에도 항상 applicationHost.config에 씁니다.

상태 표시줄

상태 표시줄에는 IIS 관리자가 구성을 작성하는 위치가 표시됩니다.

구성: '<config_file_object_path>'< config_file_name>, <위치 경로="<경로">>

구성 <config\_file\_object\_path> 파일 개체의 경로는 다음과 같습니다.

  • "localhost": 서버 수준 구성; applicationHost.config for IIS 기능, 루트 web.config for ASP.NET 기능.
  • "localhost/기본 웹 사이트": 기본 웹 사이트의 실제 폴더에 있는 web.config 파일
  • "localhost/Default Web Site/careers/technical": 기본 웹 사이트의 URL "/careers/technical"에 매핑되는 물리적 폴더의 web.config 파일

대상 <config\_file\_name> 구성 파일의 이름입니다. 예를 들면 다음과 같습니다.

  • "applicationHost.config 또는 root Web.config": iiS 기능에 대한 applicationHost.config, ASP.NET 기능에 대한 루트 web.config
  • "web.config": 웹 네임스페이스의 web.config 파일

구성 <location\_path> 중인 개체의 위치 경로입니다(위치 경로에 대한 자세한 내용은 구성 개요 참조). 이 텍스트 부분은 기능의 구성 섹션이 더 높은 수준에서 잠겨 있는 경우에만 나타납니다.

선택한 기능 보기로 전환 및 작업 창을 보여 주는 스크린샷.

예제: ApplicationHost.config 및 루트 Web.config에 쓰기

압축은 IIS 기능이며 영역별로 홈페이지 기능 목록을 그룹화/필터링하면 IIS 아래에 표시됩니다. 서버 수준 압축 페이지로 이동하여 정적 압축을 사용하지 않도록 설정한 경우 IIS 관리자는 다음 구성을 %windir%\Windows\system32\inetsrv\applicationHost.config작성합니다.

<urlCompression doStaticCompression="false" />

.NET 컴파일은 .NET Framework 구성이며 영역별로 홈페이지 기능 목록을 그룹화/필터링하면 ASP.NET 아래에 표시됩니다. 서버 수준 .NET 컴파일 페이지로 이동하여 기본 언어를 C#으로 설정한 경우 IIS 관리자는 root web.config 파일의 컴파일 섹션에 defaultLanguage 특성을 추가합니다. 즉, 다음과 같습니다. %windir%\Windows\\Microsoft.NET\Framework\v2.0.50727\CONFIG\web.config

<compilation defaultLanguage="C#">

이러한 두 상황 모두에 대한 상태 표시줄은 'localhost' applicationHost.config 또는 root web.config 구성을 읽습니다.

예: 잠긴 구성과 잠금 해제된 구성에 쓰기

IIS "defaultDocument" 구성 섹션은 기본적으로 잠금 해제됩니다. 기본 웹 사이트에 대한 기본 문서를 구성하는 경우 IIS 관리자가 다음 구성을 작성합니다 %windir%\inetpub\wwwroot\web.config.

<configuration>
   <system.webServer>
      <defaultDocument>
         <files>
            <clear />
            <add value="default.aspx" />
      </defaultDocument>
   </system.webServer>
</configuration>

상태 표시줄은 '기본 웹 사이트' web.config 구성을 읽습니다.

IIS "httpErrors" 구성 섹션은 기본적으로 잠금 해제됩니다. 기본 웹 사이트에 대한 HTTP 404 응답을 사용자 지정하는 경우 IIS 관리자는 다음 구성을 작성합니다 %windir%\Windows\system32\inetsrv\applicationHost.config.

<location path="Default Web Site" overrideMode="Allow">
  <system.webServer>
     <httpErrors>
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" path="/err/404.aspx" responseMode="Redirect" />
     </httpErrors>
  </system.webServer>
</location>

상태 표시줄에는 'localhost' applicationHost.config 또는 root web.config, <location path="기본 웹 사이트"가 표시됩니다.>

IIS 6.0 및 이전 버전의 IIS에 대한 IIS 관리자 원격은 MMC를 통해 사용되었으며 항상 사용하도록 설정되었습니다. IIS 7.0 이상을 사용하는 경우 IIS 관리자 원격을 명시적으로 사용하도록 설정해야 합니다. 모든 원격 관리는 HTTPS를 통해 수행되며 WMSVC(웹 관리 서비스)라는 IIS 구성 요소에 의해 처리됩니다. IIS 관리자를 통해 IIS 7.0 이상의 원격 관리를 사용하도록 설정하려면 IIS 관리자 원격을 사용하도록 설정하는 방법을 읽어 보세요.

WMSVC(웹 관리 서비스)

WMSVC(웹 관리 서비스)는 NT 서비스에서 호스트되는 독립 실행형 웹 서버(HWC(호스트 가능 웹 코어))입니다. WMSVC가 설치되고 시작되면 할당되지 않은 모든 IP 주소의 포트 8172에서 수신 대기합니다. 4가지 유형의 요청만 수신해야 하며 각 요청은 자체 처리기에서 처리됩니다.

  • login.axd에 대한 로그인 요청
  • download.axd에 대한 코드 다운로드 요청
  • service.axd에 대한 관리 서비스 요청
  • ping.axd에 대한 Ping 요청

로그인 요청

IIS 관리자는 연결을 선동하기 위해 WMSVC에 유선으로 로그인 요청을 보냅니다. 연결 대화 상자에서 자격 증명을 제공하라는 요청을 받았을 때 사용자가 선택한 내용에 따라 인증은 NTLM 또는 기본 인증입니다.

NTL M 및 기본 섹션을 보여 주는 로그인 대화 상자의 스크린샷

그림 9: 자격 증명 지정

코드 다운로드 요청

로그인에 성공하면 WMSVC는 연결에 대한 UI 모듈 목록을 반환합니다. 예를 들어 "사용자 지정 오류 페이지"와 같은 각 IIS 관리자 페이지는 모듈에 해당합니다. IIS 관리자에 없는 모듈이 있는 경우 모듈 이진 파일 다운로드를 요청합니다(예: 서버 관리자가 프로덕션 서버에 새 RSA 보안 제품을 설치했지만 서버에 연결하는 데 사용하는 데스크톱 컴퓨터에 제품을 설치하지 않은 경우 발생함).

관리 서비스 요청

연결이 설정되면 최종 사용자가 IIS 관리자와 상호 작용하여 관리 서비스 요청을 발생합니다. 관리 서비스는 WMSVC의 직접 모듈 서비스를 요청하여 서버의 읽기/쓰기 구성, 런타임 상태 및 공급자를 요청합니다.

Ping 요청

Ping 요청은 WMSVC 서비스 내에서 호스팅하는 HWC(웹 서버)로 이루어집니다. Ping 요청은 호스트 가능한 웹 코어가 계속 응답할 수 있도록 하는 간단한 메커니즘입니다.

서비스 구성
WMSVC에는 매우 작은 편집 가능한 구성 집합이 레지스트리에 저장됩니다. 서비스가 시작될 때마다 웹 구성 파일은 .에서 %windir%\ServiceProfiles\LocalService\AppData\Local\Temp\WMSvc<GUID>\다시 생성됩니다. 관리자가 웹 구성 파일을 편집할 수 없습니다.

웹 구성 파일을 보여 주는 스크린샷

그림 10: 레지스트리에서 구성 변경

보안

IIS 관리자 및 WMSVC(웹 관리 서비스) 원격은 기능이 간단하고 안전한지 확인하기 위해 일련의 검토를 거쳤습니다. 다음은 수행된 몇 가지 보안 조치입니다.

  • 원격 IIS 관리자 클라이언트와 WMSVC 간에 전달되는 데이터를 보호하기 위해 모든 연결에 SSL(HTTPS)이 필요합니다.
  • 권한 집합이 축소된 로컬 서비스 로 실행

최소한의 필수 모듈 및 신중하게 작성된 요청 필터링 규칙을 포함하여 HWC(호스트 가능 Web Core) 구성을 잠갔습니다.