IIS 모듈 개요

작성자: IIS 팀, Mike Volodarsky

호환성

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

소개

IIS 7 이상 웹 서버 기능 집합은 30개 이상의 독립 모듈로 구성됩니다.

모듈은 Win32 DLL(네이티브 모듈) 또는 어셈블리(관리되는 모듈) 내에 포함된 .NET 2.0 형식입니다. 구성 요소 집합과 마찬가지로 모듈은 애플리케이션에 원하는 기능을 제공하기 위해 서버에 추가됩니다. 마찬가지로 모든 IIS 모듈을 제거하거나 IIS C++ API 또는 친숙한 ASP.NET 2.0 API를 사용하여 개발된 사용자 지정 모듈로 대체할 수 있습니다.

이 문서에서는 일반적인 IIS 모듈 관리 작업에 대해 설명하고 구성 설정 및 모듈 제거가 웹 서버에 미치는 잠재적 영향을 포함하여 각 모듈에 대해 자세히 설명합니다. 관리 예제는 그래픽 IIS 관리자와 AppCmd 명령줄 도구를 모두 사용하여 제공됩니다.

사전 요구 사항

이 문서의 단계를 수행하려면 IIS의 전체 설치를 수행하는 것이 가장 좋습니다.

참고

Windows의 모든 버전이 사용 가능한 모든 IIS 기능을 지원하는 것은 아닙니다. 운영 체제에서 지원되는 IIS 기능을 확인하려면 Windows 버전과 함께 제공된 설명서를 참조해야 합니다.

웹 플랫폼 설치 관리자를 사용하여 IIS를 설치하려면

웹 PI(웹 플랫폼 설치 관리자)를 사용하여 IIS 및 IIS에서 실행되는 애플리케이션을 쉽게 설치할 수 있습니다. 웹 PI는 IIS 및 관련 기술(예: ASP.NET, SQL Server Express, Visual Web Developer, 기타 인기 있는 웹 애플리케이션 등)을 설치할 수 있는 경량의 무료 도구입니다. 웹 PI는 사용 가능한 웹 플랫폼 제품의 최신 버전을 설치하기 때문에 마우스만 몇 번 클릭하면 새로운 도구 또는 업데이트를 다운로드하고 설치할 수 있습니다. 웹 PI에 대한 자세한 내용은 자세한 정보 및 웹 PI 설치(영문)를 참조하세요.

Windows Vista, Windows 7, Windows 8, Windows 10 또는 Windows 11 IIS의 전체 설치를 수행하려면

  1. 시작을 클릭한 다음, 제어판을 클릭합니다.
  2. 제어판프로그램을 클릭합니다.
  3. 프로그램 및 기능에서 Windows 기능 사용/사용 안 함을 클릭합니다.
  4. Windows 기능 대화 상자에서 인터넷 정보 서비스를 확장하고 모든 기능을 선택합니다.
    해당 범주의 모든 기능을 선택하려면 일부 범주를 확장해야 할 수 있습니다.
  5. 확인을 클릭합니다.

Windows Server 2008/R2, Windows Server 2012/R2 또는 Windows Server 2016 IIS의 전체 설치를 수행하려면

  1. 서버 관리자>롤을 열고 웹 서버(IIS)를 선택합니다.
  2. 웹 서버에서 모든 기능을 확인합니다.

모듈을 사용하여 시작

서버에 모듈을 추가하려면 다음 두 단계를 수행해야 합니다.

  1. 서버에 모듈을 설치합니다(네이티브 모듈만 해당).
  2. 애플리케이션에서 모듈을 사용하도록 설정합니다.

첫 번째 단계에서는 모듈을 전역적으로 서버에 등록하여 각 서버 작업자 프로세스 내에서 사용할 수 있도록 합니다. 네이티브 코드의 신뢰할 수 있는 특성으로 인해 네이티브 모듈에만 필요하며 관리자만 사용할 수 있습니다.

참고

네이티브 모듈은 이전 버전의 ISAPI 필터 또는 확장과 마찬가지로 서버 작업자 프로세스에서 사용할 수 있는 모든 리소스에 무제한으로 액세스할 수 있습니다. 이 무제한 액세스로 인해 신뢰할 수 있는 원본에서 제공되는 네이티브 모듈만 설치해야 합니다.

두 번째 단계를 사용하면 모듈을 특정 애플리케이션 내에서 실행할 수 있으며 애플리케이션 관리자가 애플리케이션에 대해 사용하도록 설정된 서버 기능을 효과적으로 제어할 수 있습니다. 이 단계에서는 각 애플리케이션에 대해 설치된 네이티브 모듈과 관리되는 모듈을 모두 사용하도록 설정할 수 있습니다.

네이티브 모듈을 설치하려면

네이티브 모듈을 설치하려면 아래 옵션 중 하나를 사용하여 서버에 등록해야 합니다.

  • IIS 구성 저장소를 수동으로 편집합니다. IIS 7.5 이상에서는 IIS 관리자에서 구성 편집기를 사용할 수 있습니다.
  • IIS 관리자 사용
  • AppCmd.exe 명령줄 도구 사용

이러한 세 가지 옵션 모두 서버 수준에서만 설정할 수 있는 globalModules> IIS 구성 섹션에 모듈 항목이 추가<됩니다. 이 섹션의 내용을 검사하려면 에 %windir%\system32\inetsrv\config\applicationhost.config있는 루트 구성 파일을 열고 문자열 "<globalModules"를 검색합니다>.

전체 IIS 설치 후 이 섹션에는 IIS와 함께 제공되는 각 네이티브 모듈에 대한 항목이 포함되어 있으며, 모듈 DLL의 이름과 경로를 지정합니다.

<globalModules>
    <add name="DefaultDocumentModule" image="%windir%\system32\inetsrv\defdoc.dll" />
    <add name="DirectoryListingModule" image="%windir%\system32\inetsrv\dirlist.dll" />
    <add name="StaticFileModule" image="%windir%\system32\inetsrv\static.dll" />
    ...

</globalModules>

이러한 모든 모듈은 이 문서의 뒷부분에 자세히 설명되어 있습니다.

네이티브 모듈을 제거하려면

해당 모듈이 서버에서 더 이상 사용되지 않거나 다른 모듈로 바꾸려면 네이티브 모듈을 제거할 수 있습니다. 다음 옵션 중 하나를 사용하여 globalModules> 구성 목록에서 해당 모듈 항목<과 구성 목록의 연결된 항목을 <modules> 제거합니다.

  • IIS 구성 저장소를 수동으로 편집합니다. IIS 7.5 이상에서는 구성 편집기를 사용할 수 있습니다.
  • IIS 관리자 사용
  • AppCmd.exe 명령줄 도구 사용

참고

<globalModules> 구성 섹션은 서버 수준에서만 설정할 수 있으므로 모듈을 제거하려면 관리자여야 합니다.

애플리케이션에 모듈 사용

특정 애플리케이션에 대한 서비스를 제공하려면 먼저 모듈을 사용하도록 설정해야 합니다. 네이티브 모듈을 사용하도록 설정하려면 먼저 서버에 설치해야 합니다(이전 섹션인 네이티브 모듈 설치 참조).

관리되는 모듈에는 설치가 필요하지 않으며 각 애플리케이션에 대해 직접 사용하도록 설정할 수 있습니다. 이를 통해 애플리케이션은 애플리케이션의 web.config 파일에 등록하고 /BIN 또는 /App_Code 디렉터리에 구현을 제공하여 애플리케이션 내에서 직접 관리되는 모듈을 포함할 수 있습니다.

모듈을 사용하도록 설정하려면 다음 중 하나를 수행합니다.

  • 서버의 모든 애플리케이션 또는 이 모듈을 사용하도록 설정하려는 각 애플리케이션 내에 있는 특정 web.config 파일에서 모듈을 사용하도록 전역적으로 IIS 구성 저장소를 수동으로 편집합니다. IIS 7.5 이상에서는 구성 편집기를 사용할 수 있습니다.
  • IIS 관리자 사용
  • AppCmd.exe 명령줄 도구 사용

이러한 세 가지 옵션은 모두 서버 수준 및 애플리케이션 수준에서 설정할 수 있는 IIS 구성 섹션에 모듈 항목을 <modules> 추가합니다. 에 있는 %windir%\system32\inetsrv\config\applicationhost.config루트 구성 파일을 열고 문자열 "<modules"를 검색하여 이 섹션의 내용을 검사합니다>.

네이티브 모듈과 달리 관리되는 모듈은 globalModules> 구성 섹션에 <항목을 추가할 필요가 없습니다.

전체 IIS 설치 후 구성 섹션에는 IIS와 함께 제공되는 각 모듈(관리 모듈과 네이티브 모두)에 대한 항목이 포함됩니다. 항목은 이러한 모든 모듈이 서버의 모든 애플리케이션에 대해 기본적으로 사용하도록 설정되어 있음을 나타냅니다. 이 섹션의 각 항목은 이전에 서버에 설치된 네이티브 모듈의 이름 또는 관리되는 모듈의 이름 및 .NET 형식을 지정합니다.

<modules>
<add name="DefaultDocumentModule" />
<add name="DirectoryListingModule" />
<add name="StaticFileModule"/>
 ...

</modules>

애플리케이션에서 모듈 비활성화

해당 모듈이 애플리케이션에서 더 이상 사용되지 않거나 다른 모듈로 바꾸려면 모듈을 사용하지 않도록 설정합니다. 모듈을 사용하지 않도록 설정하려면 이 모듈을 실행하지 않으려는 특정 애플리케이션의 구성 컬렉션에서 <modules> 해당 모듈 항목을 제거합니다. 모듈이 서버 수준에서 사용하도록 설정된 경우 이 모듈을 제거하여 기본적으로 서버의 모든 애플리케이션에서 사용하지 않도록 설정합니다. 다음 옵션 중 하나를 사용하여 서버 수준에서 모듈을 제거합니다.

  • 애플리케이션에서 <system.webServer>/<modules 구성 섹션을> 수동으로 편집합니다.
  • IIS 관리자를 사용합니다.
  • AppCmd.exe 명령줄 도구를 사용합니다.

애플리케이션에서 모듈이 제거되면 해당 애플리케이션에서 활성화되지 않습니다. 그러나 모듈이 네이티브인 경우에도 서버 작업자 프로세스에 로드되며 제거하지 않은 다른 애플리케이션에서 사용할 수 있습니다.

참고

구성 섹션은 ASP.NET 설치된 경우 기본적으로 잠금 해제됩니다. 이 기본 잠금 해제를 사용하면 애플리케이션이 전역적으로 사용하도록 설정된 네이티브 모듈과 관리되는 모듈을 모두 사용하지 않도록 설정하고 새 관리형 모듈을 추가할 수 있습니다. 이 구성 섹션은 서버 수준에서 잠겨 수정을 완전히 방지하거나 관리자가 원하는 경우 특정 모듈 항목의 제거를 방지할 수 있습니다.

Preconditions

사전 조건이라는 모듈 항목에 또 다른 특성이 있습니다. IIS 핵심 엔진은 사전 조건을 사용하여 특정 모듈을 사용하도록 설정할 시기를 결정합니다. 예를 들어 성능상의 이유로 관리되는 처리기로 이동하는 요청에 대해서만 관리되는 모듈을 실행하려고 할 수 있습니다. 다음 예제의 전제 조건(precondition="managedHandler")은 .aspx 또는 .asmx 파일에 대한 요청과 같이 관리되는 처리기에서도 처리되는 요청에 대해서만 양식 인증 모듈을 사용하도록 설정합니다.

<add name="FormsAuthentication"type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />

특성 precondition="managedHandler"를 제거하는 경우 양식 인증은 .html, .jpg, .doc 같은 관리 처리기에서 제공되지 않는 콘텐츠뿐만 아니라 클래식 ASP(.asp) 또는 PHP(.php) 확장에도 적용됩니다. 모든 콘텐츠에 대해 ASP.NET 모듈을 실행할 수 있도록 설정하는 예제는 "IIS 통합 파이프라인을 활용하는 방법"을 참조하세요.

바로 가기를 사용하여 "managedHandler" 사전 조건에 관계없이 모든 관리형(ASP.NET) 모듈이 애플리케이션의 모든 요청에 대해 실행되도록 설정할 수도 있습니다. "managedHandler" 사전 조건을 제거하도록 각 모듈 항목을 구성하지 않고 모든 요청에 대해 모든 관리되는 모듈을 실행할 수 있도록 하려면 섹션에서 runAllManagedModulesForAllRequests 속성을 <modules> 사용합니다.

<modules runAllManagedModulesForAllRequests="true"/>

이 속성을 사용하면 "managedHandler" 사전 조건이 적용되지 않으며 모든 요청에 대해 관리되는 모든 모듈이 실행됩니다.

IIS 관리자를 사용하여 모듈 쿼리, 추가 및 제거

IIS 관리자는 모듈을 쉽게 쿼리, 추가 또는 제거하는 방법을 제공합니다.

  1. IIS 관리자를 열려면 시작을 클릭하고 검색 상자에 inetmgr을 입력한 다음 Enter 키를 누릅니다.
  2. IIS 서버의 컴퓨터 이름을 클릭합니다.
  3. IIS 범주에서 모듈 아이콘을 클릭합니다.

IIS 관리자

그림 1: IIS 관리자

특정 애플리케이션에 대해 사용하도록 설정된 모듈을 관리하려면

  1. 왼쪽의 트리 뷰를 사용하여 해당 애플리케이션에 연결합니다.
  2. 모듈 기능 창으로 이동합니다.
  3. 관리되는 모듈 추가를 클릭하여 애플리케이션에 관리되는 모듈을 추가합니다. 네이티브 모듈을 추가 하면 서버 수준에서 이미 등록된 모듈만 추가할 수 있습니다.

애플리케이션에서 모듈을 제거하려면

  1. 목록에서 모듈을 클릭합니다. 작업 제거가 왼쪽 창에 표시됩니다.
  2. 제거를 클릭합니다.

IIS 관리자의 모듈 목록

그림 2: IIS 관리자의 모듈 목록

명령줄에서 모듈 관리

명령줄 또는 스크립트 모듈 관리 작업에서 모듈을 신속하게 관리하려면 AppCmd.exe 명령줄 도구를 사용합니다.

AppCmd.exe 사용하여 모듈을 설치하려면

명령 프롬프트에서 다음 명령을 입력하고 기울임꼴의 값을 컴퓨터의 모듈 값으로 바꿉니다.

Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL

참고

네이티브 모듈을 설치하면 서버 수준에서 자동으로 사용할 수 있습니다.

예를 들어 다음 명령은 기본 문서 모듈을 설치합니다.

%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll

모듈이 이미 로드된 컴퓨터에서 명령을 실행하면 다음과 유사한 오류 메시지가 표시됩니다.

오류(message:중복 컬렉션 요소 "DefaultDocumentModule"을 추가하지 못했습니다.)

AppCmd.exe 사용하여 모듈을 제거하려면

명령 프롬프트에서 다음 명령을 입력하고 기울임꼴의 값을 컴퓨터의 모듈 값으로 바꿉니다.

Appcmd.exe uninstall module MODULE_NAME

참고

모듈을 제거하면 서버 수준에서 모듈을 자동으로 사용하지 않도록 설정합니다.

예를 들어 다음 명령은 기본 문서 모듈을 제거합니다. 이 명령은 예제로만 제공됩니다. 테스트 서버에서만 실행해야 합니다.

%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule

애플리케이션 또는 전역적으로 사용하도록 설정된 모듈을 나열하려면

명령 프롬프트에서 다음 명령을 입력하고 기울임꼴 텍스트의 값을 컴퓨터의 모듈 값으로 바꿉다.

Appcmd.exe list modules [/app.name:APPLICATION_NAME]

예를 들어 다음 명령은 기본 웹 사이트에 사용하도록 설정된 모듈을 나열합니다.

%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"

그리고 이 명령은 전역적으로 설치된 모듈을 나열합니다.

%windir%\system32\inetsrv\appcmd.exe list modules

특정 애플리케이션 또는 전역적으로 모듈을 사용하도록 설정하려면

명령 프롬프트에서 다음 명령을 입력하고 기울임꼴 텍스트의 값을 컴퓨터의 모듈 값으로 바꿉다.

Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE

예를 들어 다음 명령은 기본 웹 사이트에 Forms 인증 모듈을 추가합니다.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"

그리고 이 명령은 폼 인증 모듈을 전역적으로 추가합니다.

%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule

특정 애플리케이션 또는 전역적으로 모듈을 사용하지 않도록 설정하려면

명령 프롬프트에서 다음 명령을 입력하고 기울임꼴 텍스트의 값을 컴퓨터의 모듈 값으로 바꿉다.

Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]

예를 들어 다음 명령은 기본 웹 사이트에서 Forms 인증 모듈을 제거합니다.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"

그리고 이 명령은 폼 인증 모듈을 전역적으로 제거합니다.

%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication

각 App Cmd.exe 명령에 대한 구문에 대한 자세한 도움말을 보려면

Module 개체에서 지원되는 명령을 표시하려면 다음 명령을 입력합니다.

Appcmd.exe module /?

각 명령의 사용량을 표시하려면 다음 명령을 입력합니다.

Appcmd.exe install module /?Appcmd add module /?

모듈 참조

IIS 서버는 사용자 지정할 준비가 된 것입니다. 부작용, 기능 손실 또는 보안 기능 제거를 방지하려면 다음 목록을 주의 깊게 읽어보세요.

유틸리티 모듈

이러한 모듈은 요청 서비스를 제공하지 않고 서버 엔진의 내부 작업을 지원합니다.

모듈 이름: UriCacheModule
설명: 구성과 같은 URL 관련 서버 상태에 대한 일반 캐시를 구현합니다. 이 모듈을 사용하면 서버는 특정 URL에 대한 첫 번째 요청에 대한 구성만 읽고 변경될 때까지 후속 요청에서 다시 사용합니다.
구성 섹션: 없음
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 모든 요청에 대해 각 URL 검색에 대해 캐시된 상태로 인한 성능 손실입니다.
모듈 이름: FileCacheModule
설명: 서버 엔진 및 모듈에서 연 파일에 대한 파일 핸들을 캐시합니다.
구성 섹션: 없음
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 성능 손실. 파일 핸들이 캐시되지 않은 경우 모든 요청에 대해 파일을 열어야 합니다.
모듈 이름: TokenCacheModule
설명: 암호 기반 인증 체계(익명 인증, 기본 인증, IIS 클라이언트 인증서 인증)에 대한 Windows 보안 토큰을 캐시합니다.
구성 섹션: 없음
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 성능 손실. 토큰이 캐시되지 않은 경우 모든 요청에 대해 사용자를 로그온해야 합니다. 성능에 큰 영향을 미칠 수 있습니다. 예를 들어 암호로 보호된 html 페이지가 보호되는 50개의 이미지를 참조하는 경우 51개의 logonUser가 로컬 계정 데이터베이스를 호출하거나 더 나쁜 경우 오프박스 도메인 컨트롤러에 대해 성능 문제가 발생합니다.
모듈 이름: ManagedEngine
설명: 관리 엔진에는 다른 모든 모듈 내에 특별한 위치가 있습니다. IIS 통합을 제공하여 ASP.NET 런타임과 연결합니다.
구성 섹션:
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 통합이 비활성화됩니다. 섹션에 선언된 또는 ASP.NET 처리기에서 <modules><handlers> 선언된 관리되는 모듈은 애플리케이션 풀이 통합 모드에서 실행될 때 호출되지 않습니다.
모듈 이름: HttpCacheModule
설명: HttpCacheModule은 IIS 출력 캐시와 http.sys 캐시의 항목을 캐싱하기 위한 논리를 구현합니다. 캐시 크기, 출력 캐시 프로필 등을 설정합니다. 구성을 통해.
구성 섹션: System.webServer/caching
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 콘텐츠는 더 이상 커널 모드에서 캐시되지 않습니다. 캐시 프로필은 무시됩니다. HttpCacheModule을 제거하면 성능 및 리소스 사용에 부정적인 영향을 미칠 수 있습니다.
모듈 이름: DynamicCompressionModule
설명: 동적 콘텐츠의 메모리 내 압축을 구현합니다.
구성 섹션: system.webServer/httpCompression 및 system.webServer/urlCompression.
종속성: 동적 압축은 기본적으로 꺼져 있으므로 종속성이 없습니다.
모듈 이름: StaticCompressionModule
설명: 정적 콘텐츠의 압축(메모리 및 파일 시스템의 영구)을 구현합니다.
구성 섹션: system.webServer/httpCompression 및 system.webServer/urlCompression
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 압축되지 않은 콘텐츠가 클라이언트로 다시 전송되어 잠재적 대역폭 포화 상태입니다.
모듈 이름: DefaultDocumentModule
설명: 기본 문서 기능을 구현합니다. 후행/와 함께 들어오는 요청은 기본 문서 목록의 문서로 다시 라우팅됩니다.
구성 섹션: system.webServer/defaultDocument
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 /에 대한 요청(예 http://localhost/: )은 404 오류를 반환합니다. directoryBrowsing을 사용하도록 설정하면 디렉터리 목록이 생성됩니다.
모듈 이름: DirectoryListingModule
설명: 디렉터리 검색 기능을 구현합니다.
구성 섹션: system.webServer/directoryBrowse
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 기본 문서 모듈이나 directoryListing 모듈이 /에 대한 요청을 처리하지 않으면 빈 응답이 반환됩니다.
모듈 이름: ProtocolSupportModule
설명: 사용자 지정 및 리디렉션 응답 헤더를 구현합니다. 추적 및 옵션 HTTP 동사를 구현합니다. 구성을 통해 연결 유지 지원을 허용하거나 해제하는 지원을 구현합니다.
구성 섹션: system.webServer/httpProtocol
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 TRACE 또는 OPTIONS 요청은 "405 메서드가 허용되지 않음" 오류 메시지를 반환합니다.
모듈 이름: HttpRedirectionModule
설명: 리디렉션 기능을 구현합니다.
구성 섹션: system.webServer/httpRedirect
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 리소스가 리디렉션으로 보호된 경우 잠재적인 보안 문제입니다. 리디렉션 모듈이 제거되면 콘텐츠에 다시 액세스할 수 있게 됩니다.
모듈 이름: ServerSideIncludeModule
설명: 서버 쪽 포함을 구현합니다. 이 모듈은 .stm, .shtm 및 .shtml로 끝나는 요청에 대해서만 실행되는 처리기로 매핑됩니다.
구성 섹션: system.webServer/serverSideInclude
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 정적 파일 모듈은 handles.stm, .shtm 및 .shtml 파일을 처리합니다. 이 모듈에 이러한 확장에 대한 mimeMap이 있는 경우 파일이 텍스트로 제공됩니다. 그러나 기본값은 아닙니다.
모듈 이름: StaticFileModule
설명: 파일 확장명 .html, .jpg 및 기타 많은 파일을 사용하여 정적 파일을 보냅니다. staticContent/mimeMap 구성 컬렉션은 파일 확장명 목록을 결정합니다.
구성 섹션: system.webServer/staticContent
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 정적 파일은 더 이상 제공되지 않습니다. 파일 요청은 일치하는 처리기가 없음을 나타내는 404 찾을 수 없음 오류를 반환합니다.
모듈 이름: AnonymousAuthenticationModule
설명: 익명 인증을 구현합니다. 이 모듈에서는 익명 인증을 허용하도록 URL이 구성된 경우 HttpUser 개체를 생성합니다.
구성 섹션: system.webServer/security/authentication/anonymousAuthentication
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 하나 이상의 인증 모듈을 구성해야 합니다. IIS 서버 코어는 인증 단계 후에 HttpUser 개체가 채워지는지 확인합니다. HttpUser 개체는 IIS 데이터 구조입니다. HttpUser 개체를 채우는 인증이 없으면 401.2 오류가 생성됩니다.
모듈 이름: CertificateMappingAuthenticationModule
설명: SSL 클라이언트 인증서를 Active Directory 계정(Active Directory 인증서 매핑)에 매핑합니다.
구성 섹션: system.webServer/security/authentication/clientCertificateMappingAuthentication
종속성: 이 모듈이 작동하려면 SSL을 구성해야 합니다. IIS 컴퓨터도 Active Directory 도메인의 구성원이어야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 Active Directory 인증서 매핑을 사용하여 디렉터리를 보호하는 경우 요청이 일반적으로 허용됩니다. 이 경우 모듈이 제거됩니다.
모듈 이름: BasicAuthenticationModule
설명: 는 RFC 2617에 설명된 HTTP 기본 인증을 구현합니다.
구성 섹션: system.webServer/security/authentication/basicAuthentication
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 하나 이상의 인증 모듈을 구성해야 합니다. IIS 서버 코어는 인증 단계 후에 HttpUser 개체가 채워지는지 확인합니다. HttpUser 개체는 IIS 데이터 구조입니다. HttpUser 개체를 채우는 인증이 없으면 401.2 오류가 생성됩니다.
모듈 이름: WindowsAuthenticationModule
설명: Windows 인증 구현합니다(NTLM 또는 협상(Kerberos)).
구성 섹션: system.webServer/security/authentication/windowsAuthentication
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 하나 이상의 인증 모듈을 구성해야 합니다. IIS 서버 코어는 인증 단계 후에 HttpUser 개체가 채워지는지 확인합니다. HttpUser 개체는 IIS 데이터 구조입니다. HttpUser 개체를 채우는 인증이 없으면 401.2 오류가 생성됩니다.
모듈 이름: DigestAuthenticationModule
설명: RFC 2617에 설명된 다이제스트 인증을 구현합니다.
구성 섹션: system.webServer/security/authentication/digestAuthentication
종속성: IIS 서버는 Active Directory 도메인의 일부여야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 하나 이상의 인증 모듈을 구성해야 합니다. IIS 서버 코어는 인증 단계 후에 HttpUser 개체가 채워지는지 확인합니다. HttpUser 개체는 IIS 데이터 구조입니다. HttpUser 개체를 채우는 인증이 없으면 401.2 오류가 생성됩니다.
모듈 이름: IISCertificateMappingAuthenticationModule
설명: IIS 인증서 매핑을 구현합니다. SSL 클라이언트 인증서를 Windows 계정에 매핑합니다. Active Directory 인증서 매핑과 달리 사용자 자격 증명 및 매핑 규칙은 IIS 구성 저장소 내에 저장됩니다.
구성 섹션: system.webServer/iisClientCertificateMappingAuthentication
종속성: 이 모듈이 작동하려면 클라이언트 인증서를 받기 위한 요구 사항이 있는 SSL을 구성해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 하나 이상의 인증 모듈을 구성해야 합니다. IIS 서버 코어는 인증 단계 후에 HttpUser 개체가 채워지는지 확인합니다. HttpUser 개체는 IIS 데이터 구조입니다. HttpUser 개체를 채우는 인증이 없으면 401.2 오류가 생성됩니다.
모듈 이름: UrlAuthorizationModule
설명: 구성 규칙에 따라 권한 부여를 구현합니다.
구성 섹션: system.webServer/security/authorization
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 보호된 콘텐츠가 더 이상 평가되지 않는 권한 부여 규칙입니다. 보호해야 하는 콘텐츠가 제공될 수 있습니다.
모듈 이름: IsapiModule
설명: ISAPI 확장 기능을 구현합니다.
구성 섹션: system.webServer/isapiCgiRestriction
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 섹션(modules="IsapiModule")에 <handlers> 매핑되거나 명시적으로 ISAPI 확장이라고 하는 ISAPI 확장은 더 이상 작동하지 않습니다.
모듈 이름: IsapiFilterModule
설명: ISAPI 필터 기능을 구현합니다.
구성 섹션: system.webServer/isapiFilters
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 ISAPI 필터는 애플리케이션이 사용하는 기능을 구현하는 경우가 많습니다. 예를 들어 ASP.NET 또는 SharePoint가 있습니다. 예를 들어 ASP.NET 중요한 콘텐츠를 보호하고 URL을 다시 쓰기 위해 aspnet_filter.dll 필요합니다. 이 모듈을 제거하면 IIS에서 ISAPI 필터를 로드할 수 없습니다. 애플리케이션의 작동이 중지되거나 중요한 콘텐츠가 노출될 수 있습니다.
모듈 이름: IpRestrictionModule
설명: 클라이언트 요청의 IPv4 주소를 기반으로 권한 부여 체계를 구현합니다.
구성 섹션: system.webServer/security/ipSecurity
종속성: IPv4 스택을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ipSecurity 목록에 IP 주소가 있는 클라이언트가 허용됩니다.
모듈 이름: RequestFilteringModule
설명: 매우 초기 단계에서 의심스러운 요청을 거부하는 강력한 보안 규칙 집합을 구현합니다. 이 모듈은 IIS 5.0 및 6.0용으로 제공된 ISAPI 필터 UrlScan.DLL 후속 버전입니다.
구성 섹션: system.webServer/security/requestFiltering
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 이 모듈이 제거되면 requestFiltering 섹션에 지정된 규칙이 더 이상 적용되지 않습니다. 잠재적인 보안 문제가 발생할 수 있습니다.
모듈 이름: CustomLoggingModule
설명: IIS 위에 ILogPlugin 인터페이스를 구현합니다. ILogPlugin은 고객이 IIS 로깅을 확장할 수 있도록 허용한 이전 COM 구현입니다. 이 인터페이스를 사용하여 IIS를 확장하는 것은 권장되지 않습니다. 대신 고객은 모듈을 작성하고 RQ_LOG_REQUEST 알림을 구독해야 합니다.
구성 섹션: system.webServer/httpLogging 및 system.applicationhost/sites/site/logFile/customLogPluginClsid
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 사용자 지정 로그 플러그 인은 더 이상 호출되지 않습니다. 예를 들어 ODBC 로깅은 ILogPlugin으로 구현됩니다.
모듈 이름: CustomErrorModule
설명: 사용자 지정 오류 및 IIS 세부 오류 기능을 구현합니다.
구성 섹션: system.webServer/httpErrors
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 IIS는 코어 서버 내에서 오류가 발생할 때 최소한의 정보로 빈 페이지를 반환합니다. 원격 사용자는 서버 구성 요소에서 오는 자세한 오류 정보를 볼 수 있으며 이로 인해 정보가 공개될 수 있습니다.
모듈 이름: HttpLoggingModule
설명: 로깅할 내용을 HTTP.SYS 알려 표준 IIS 로깅을 구현합니다.
구성 섹션: system.applicationHost/log 및 system.webServer/httpLogging
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 표준 IIS 로깅은 더 이상 작동하지 않습니다.
모듈 이름: FailedRequestsTracingModule
설명: 실패한 요청 추적을 구현합니다. 구성을 통해 실패한 요청에 대한 규칙을 정의하고 설정합니다.
구성 섹션: system.webServer/tracing 및 system.webServer/httpTracing
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 http 요청 추적은 더 이상 작동하지 않습니다.
모듈 이름: RequestMonitorModule
설명: IIS RSCA(런타임 상태 및 제어 인터페이스)를 구현합니다. RSCA를 사용하면 사용자가 현재 요청 실행, 웹 사이트의 시작/중지 상태 또는 현재 실행 중인 애플리케이션 도메인과 같은 런타임 정보를 쿼리할 수 있습니다.
구성 섹션: 없음
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 도구는 현재 실행 중인 요청을 열거할 수 없습니다.
모듈 이름: CgiModule
설명: IIS를 기반으로 CGI를 구현합니다.
구성 섹션: system.webServer/cgi 및 system.webServer/isapiCgiRestriction
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 CGI 프로그램 작동이 중지됩니다.
모듈 이름: TracingModule
설명: ETW 추적을 구현합니다.
구성 섹션: system.webServer/httpTracing
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 이 모듈이 제거되면 ETW 추적이 작동하지 않습니다.
모듈 이름: ConfigurationValidationModule
설명: ASP.NET 애플리케이션 구성이 통합 모드에서 작동하도록 마이그레이션되었는지 확인합니다.
구성 섹션: system.webServer/Validation
종속성: 없음
이 모듈을 제거할 때 발생할 수 있는 문제 모듈 및 처리기에 대한 레거시 ASP.NET 구성을 지정하는 애플리케이션은 마이그레이션 오류를 생성하지 않습니다. 마이그레이션되지 않은 새 애플리케이션이 잘못 작동합니다.

관리되는 모듈:

모듈 이름: OutputCache
설명: ASP.NET 출력 캐싱 기능을 구현합니다.
구성 섹션: system.web/caching/outputCache
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 출력 캐시되도록 구성된 페이지에 대한 캐시 응답을 출력할 수 없습니다.
모듈 이름: 세션
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션: system.web/sessionState
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 관리되는 세션 상태를 사용할 수 없습니다.
모듈 이름: WindowsAuthentication
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션: system.web/authentication
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 WindowsAuthentication.OnAuthenticate 이벤트는 발생하지 않으므로 일부 사용자 지정 ASP.NET 인증 코드가 실행되지 않을 수 있습니다. 또한 인증된 사용자는 UNC 공유(레거시 ASP.NET 동작)에서 UNC 사용자로 대체되지 않습니다. 이 모듈은 통합 모드의 ASP.NET 애플리케이션에 대한 NTLM/Kerberos 인증에 영향을 주지 않으며 WindowsAuthentication.OnAuthenticate 이벤트 및 레거시 UNC 동작 외부에서는 필요하지 않습니다.
모듈 이름: FormsAuthentication
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션: system.web/authentication
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 양식 기반 인증 기능을 사용할 수 없으므로 양식 인증 티켓이 있는 클라이언트는 보호된 리소스에 액세스할 수 없습니다.
모듈 이름: DefaultAuthentication
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션: system.web/authentication
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 인증 모드가 Forms인 경우 익명 요청에 대해 일부 ASP.NET 기능이 작동하지 않을 수 있습니다. 또한 DefaultAuthentication.OnAuthenticate 이벤트는 발생하지 않습니다.
모듈 이름: RoleManager
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션: 없음
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 역할 관리자 기능을 사용할 수 없습니다.
모듈 이름: UrlAuthorization
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요. 네이티브 UrlAuthorization 모듈은 네이티브 코드에서 URL 권한 부여 기능을 구현합니다. 이렇게 하면 관리되는 URL 권한 부여 모듈에 대한 확장 가능하고 빠른 네이티브 대안이 제공됩니다.
구성 섹션: system.web/authorization.
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 권한 부여 규칙은 무시되어 정보 공개 및 기타 보안 손상이 발생할 수 있습니다.
모듈 이름: AnonymousIdentification
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션:
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 프로필에서 사용하는 익명 식별 기능은 작동하지 않습니다.
모듈 이름: Profile
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션:
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET 프로필 기능이 작동하지 않습니다.
모듈 이름: UrlMappingsModule
설명: 자세한 내용은 ASP.NET 2.0 설명서를 참조하세요.
구성 섹션:
종속성: ManagedEngine 모듈을 설치해야 합니다.
이 모듈을 제거할 때 발생할 수 있는 문제 ASP.NET URL 매핑이 작동하지 않습니다.