방법: IIS 7.0에 대해 <system.webServer> 섹션 구성

Visual Studio 2010

업데이트: 2007년 11월

Web.config 파일의 system.webServer 섹션에서는 웹 응용 프로그램에 적용되는 IIS 7.0 설정을 지정합니다. system.WebServerconfiguration 섹션의 자식입니다. 자세한 내용은 IIS 7.0: system.webServer Section Group (IIS Settings Schema)을 참조하십시오.

system.WebServer 구성 그룹에서 지정할 수 있는 웹 서버 설정의 예는 다음과 같습니다.

  • 요청에 특정 리소스가 포함되어 있지 않은 경우 웹 서버에서 클라이언트에 반환하는 기본 문서(defaultDocument 요소)

  • 응답의 압축 설정(httpCompression 요소)

  • 사용자 지정 헤더(httpProtocol 섹션의 customHeaders 요소)

  • 모듈(modules 요소)

  • 처리기(handlers 요소)

system.webServer 섹션의 일부 설정은 IIS 7.0 통합 모드에만 적용되고 클래식 모드에는 적용되지 않습니다. 특히 응용 프로그램이 클래식 모드로 실행되고 있는 경우 Web.config 파일의 system.WebServer 섹션에서 지정한 관리 코드 모듈과 처리기는 무시됩니다. 대신 이전 버전의 IIS에서처럼 system.web 섹션의 httpModuleshttpHandlers 요소에서 관리 코드 모듈과 처리기를 정의해야 합니다.

이 항목에서는 system.webServer 섹션을 수정해야 하는 일반적인 구성 작업을 보여 줍니다.

  • 요청 URL에 특정 파일이 없을 경우 기본 파일이 제공되도록 기본 파일 추가

  • 관리 코드 모듈 등록

  • 사용자 지정 응답 헤더 추가

요청 URL에 웹 응용 프로그램의 특정 파일이 없을 경우 IIS 7.0에서 기본 파일을 제공합니다.

기본 파일을 구성하려면

  1. 응용 프로그램에 Web.config 파일이 없는 경우 Visual Studio에서 또는 텍스트 편집기를 사용하여 만듭니다.

    자세한 내용은 ASP.NET 구성 파일 편집을 참조하십시오.

  2. Web.config 파일에 system.webServer 섹션이 없는 경우 다음 예제에서처럼 configuration 요소 내에 하나를 만듭니다.

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. system.webServer 요소 내에 defaultDocument 요소를 만듭니다.

  4. defaultDocument 요소 내에 files 요소를 만듭니다.

  5. files 요소 내에 add 요소를 만들고 value 특성에 기본 파일의 경로와 이름을 지정합니다.

    다음 예제에서는 Products.aspx 파일을 기본 파일로 제공하도록 구성된 system.webServer 섹션을 보여 줍니다.

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

관리 코드 모듈은 모든 요청에 대해 호출되며 요청 또는 응답을 사용자 지정할 수 있도록 합니다.

사용자 지정 관리 코드 모듈을 구성하려면

  1. 응용 프로그램에 Web.config 파일이 없는 경우 Visual Studio에서 또는 텍스트 편집기를 사용하여 만듭니다.

    자세한 내용은 ASP.NET 구성 파일 편집을 참조하십시오.

  2. Web.config 파일에 system.webServer 섹션이 없는 경우 다음 예제에서처럼 configuration 요소 내에 하나를 만듭니다.

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. system.webServer 요소 내에 modules 요소를 만듭니다.

  4. modules 요소 내에 add 요소를 만들고 nametype 특성에 사용자 지정 모듈을 지정합니다.

    실제 이름과 형식은 추가하는 모듈에 따라 달라집니다. 다음 예제에서는 Samples.CustomModule 형식으로 구현되는 CustomModule이라는 사용자 지정 모듈을 추가하는 방법을 보여 줍니다.

    <configuration>
      <system.webServer>
        <modules>      <add name="CustomModule" type="Samples.CustomModule" />    </modules>
      </system.webServer>
    </configuration>
    
  5. 모듈 등록에 precondition 특성을 추가하고 해당 값을 managedHandler로 설정합니다.

    사전 조건에 따라 모듈은 .aspx 파일 또는 관리되는 처리기 같은 ASP.NET 응용 프로그램 리소스에 대한 요청에 대해서만 호출해야 합니다. 단 .htm 파일 등의 정적 파일은 예외입니다.

    구성 섹션은 다음 예제와 유사합니다.

    <configuration>
      <system.webServer>
        <modules>
          <add name="CustomModule" type="Samples.CustomModule" 
               precondition="managedHandler" />
        </modules>
        <defaultDocument>
          <files>
            <add value="Products.aspx" />
          </files>
        </defaultDocument>
      </system.webServer>
    </configuration>
    

사용자 지정 응답 헤더를 사용하면 응용 프로그램 관련 정보를 브라우저로 보낼 수 있습니다. 예를 들어 Content-Language 헤더를 추가하여 웹 페이지의 본문에 사용되는 언어를 설명할 수 있습니다. 이를 위해 en-US(미국 영어) 또는 en-GB(영국 영어) 등과 같이 하나 이상의 언어 및 국가/지역 값을 제공합니다.

사용자 지정 응답 헤더를 구성하려면

  1. 응용 프로그램에 Web.config 파일이 없는 경우 Visual Studio에서 또는 텍스트 편집기를 사용하여 만듭니다.

    자세한 내용은 ASP.NET 구성 파일 편집을 참조하십시오.

  2. Web.config 파일에 system.webServer 섹션이 없는 경우 다음 예제에서처럼 configuration 요소 내에 하나를 만듭니다.

    <configuration>
      <system.webServer>
      </system.webServer>
    </configuration>
    
  3. system.webServer 요소 내에 httpProtocol 요소를 만듭니다.

  4. httpProtocol 요소 내에 customHeaders 요소를 만듭니다.

  5. customHeaders 요소 내에 add 태그를 만들고 namevalue 특성에 사용자 지정 헤더를 정의하도록 지정합니다.

    실제 이름과 값은 응용 프로그램에서 헤더의 기능에 따라 달라집니다. 다음 예제에서는 값이 CustomHeaderCustomHeader라는 사용자 지정 헤더를 추가하는 방법을 보여 줍니다.

    <configuration>
      <system.webServer>
        <httpProtocol>      <customHeaders>        <add name="CustomHeader" value="CustomHeader" />      <customHeaders>    </httpProtocol>
      </system.webServer>
    </configuration>
    
표시: