ASP를 사용하여 특정 페이지에 대해 SSL 강제 적용

이 문서에서는 ASP(활성 서버 페이지)를 사용하여 MMC를 변경하지 않고 특정 페이지에 대해 SSL(Secure Sockets Layer)을 강제 적용하는 방법을 설명합니다.

원래 제품 버전: Microsoft Active Server Pages
원래 KB 번호: 239875

요약

웹 사이트의 특정 페이지에 대해 SSL을 요구하는 것이 좋은 보안 사례인 경우가 많습니다. MMC(Microsoft Management Console)의 ISM(Internet Services Manager)을 통해 구성할 수 있지만 ASP를 사용하여 MMC를 변경하지 않고 특정 페이지에 대해 SSL을 강제 적용할 수도 있습니다.

참고

모든 사용자가 Windows Server 2008에서 실행되는 IIS(인터넷 정보 서비스) 버전 7.0으로 업그레이드하는 것이 좋습니다. IIS 7.0은 웹 인프라 보안을 크게 향상합니다.

필수 구성 요소

이 문서에서는 다음 조건을 가정합니다.

  • IIS는 표준 포트에서 실행됩니다.

    • HTTP = 포트 80
    • HTTPS = 포트 443
  • IIS에 유효한 SSL 인증서가 설치되어 있습니다.

  • 사용되는 웹 사이트 또는 가상 서버는 이름 확인을 위해 HTTP/1.1 호스트 헤더를 사용하지 않습니다.

ASP를 사용하여 SSL 강제 적용

ASP를 사용하여 SSL을 강제로 적용하려면 다음 단계를 수행합니다.

  1. 시작을 클릭하고 실행을 클릭하고 메모장을 입력한 다음 확인을 클릭합니다.

  2. 다음 코드를 빈 메모장 문서에 붙여넣습니다. 파일 메뉴에서 다른 이름으로 저장을 클릭한 다음, 다음 코드를 ForceSSL.inc라는 포함 파일로 웹 서버의 루트에 저장합니다.

    <%
    If Request.ServerVariables("SERVER_PORT")=80 Then
        Dim strSecureURL
        strSecureURL = "https://"
        strSecureURL = strSecureURL & Request.ServerVariables("SERVER_NAME")
        strSecureURL = strSecureURL & Request.ServerVariables("URL")
        Response.Redirect strSecureURL
    End If
    %>
    
  3. SSL이 필요한 각 페이지에 대해 페이지 맨 위에 다음 코드를 붙여넣어 이전 단계의 포함 파일을 참조합니다.

    <%@Language="VBSCRIPT"%>
    <!--#include virtual="/ForceSSL.inc"-->
    

각 페이지를 탐색할 때 포함 파일에 포함된 ASP 코드는 포트를 검색하여 HTTP가 사용되는지 확인합니다. HTTP를 사용하는 경우 브라우저는 HTTPS를 사용하여 동일한 페이지로 리디렉션됩니다.

참조