DetailPage-MSS-KB

기술 자료

기술 자료: 245574 - 마지막 검토: 2004년 3월 4일 목요일 - 수정: 3.0

이 문서는 이전에 다음 ID로 출판되었음: KR245574

요약

기본적으로 ASP에서 Request.ServerVariables("REMOTE_HOST")를 수행하면 null 값이 반환되므로 IIS(Internet Information Server)가 클라이언트의 IP 주소인 REMOTE_ADDR의 값을 반환합니다. 이것은 웹 호스팅 성능을 증가시키기 위해 의도적으로 설계된 동작입니다. 그러나 메타베이스에서 설정을 변경하면 IIS가 역방향 DNS 조회를 수행하고 연결 중인 클라이언트의 호스트 이름을 반환합니다.

참고: 역방향 조회를 사용 가능하게 설정하면 추가 처리 오버헤드가 발생하여 해당 웹 서버의 성능이 저하됩니다. 따라서 성능이 중요한 대용량 사이트에는 이 문서의 정보가 적절하지 않습니다.

메타베이스를 사용 가능하게 설정하면 REMOTE_HOST 서버 변수를 요청할 때마다 IIS가 운영 체제에 이름 확인 요청 해제(off)를 전달하여 역방향 DNS 조회를 실행하려고 시도합니다. 역방향 DNS 조회가 호스트 이름을 반환하지 못하면 운영 체제가 NetBIOS를 사용한 이름 확인을 시도합니다. NetBIOS 확인도 실패하면 빈 값이 IIS에 반환되어, 원래 REMOTE_HOST 요청에 REMOTE_ADDR 값(클라이언트의 IP 주소)이 반환됩니다.

웹 서버 전체나 개별 웹 사이트에 역방향 조회를 설정할 수 있으며 이 때 IIS Admin Objects를 통한 메타베이스에 대한 관리 액세스가 필요합니다. 이 문서에서는 IIS Admin Objects를 통해 메타베이스를 수정하는 두 가지 방법, 즉 Active Server Pages를 사용하는 방법과 명령줄에서 Windows 스크립트 호스트를 사용하는 방법을 설명합니다. 다음 Active Server Pages 예제를 위해 스크립트 또는 실행 액세스를 사용 가능하게 설정한 웹 사이트나 가상 디렉터리에서 .asp 파일을 만든 다음 그 .asp 파일에 다음 코드를 복사하십시오. 명령줄을 사용하는 방법에는 Admin Sample Scripts(IIS 설정 시 설치됨)와 Windows 스크립트 호스트(Windows NT Option Pack, Windows 2000, Internet Explorer 5와 함께 다음에서 설치됨)가 설치되어 있어야 합니다.
스크립트 다운로드 페이지 (http://www.microsoft.com/msdownload/vbscript/scripting.asp)
명령줄을 사용하려면 Adsutil.vbs 스크립트가 있는 위치에서 명령 프롬프트를 통해 지시를 실행해야 합니다. Adsutil.vbs 스크립트의 위치는 IIS의 버전에 따라 다르지만 기본적으로 다음 디렉터리에 있습니다.
   Internet Information Server 4.0 - C:\WinNT\System32\InetSrv\AdminSamples<BR/>
   Internet Information Server 5.0 - C:\InetPub\AdminScripts
 
메타베이스를 잘못 수정하면 Internet Information Server에 바람직하지 않은 영향을 미칠 수 있으므로 수정하기 전에 메타베이스를 백업해 두는 것이 좋습니다.

예제 1 - 모든 사이트에 역방향 조회 설정:

이 ASP 코드 예제에서는 Request.ServerVariables("REMOTE_HOST")가 실행되면 모든 웹 사이트에서 역방향 조회를 수행할 수 있게 설정합니다. 메타베이스의 계층적 디자인 때문에 EnableReverseDNS 항목을 명시적으로 설정하지 않은 웹 사이트는 이전 레벨의 노드에서 값을 상속합니다.

ASP를 사용하는 방법:
<%
Dim oIIS
Dim vEnableRevDNS
Dim vDisableRevDNS

vEnableRevDNS = 1
vDisableRevDNS = 0

Set oIIS = GetObject("IIS://localhost/w3svc")
oIIS.Put "EnableReverseDNS", vEnableRevDNS
oIIS.SetInfo
Set oIIS = Nothing

%>
명령줄을 사용하는 방법:
cscript adsutil.vbs set /w3svc/EnableReverseDNS "TRUE"

예제 2 - 개별 사이트에 역방향 조회 설정:

이 예제에서는 Request.ServerVariables("REMOTE_HOST")가 실행될 때 특정 웹 사이트에 역방향 조회를 사용 가능하게 설정합니다. 메타베이스에서 웹 사이트는 정수 값으로 참조됩니다. 기본 웹 사이트가 첫 번째로 만든 사이트이기 때문에 참조 번호 1을 받습니다. 이 예제에서는 기본 웹 사이트에만 역방향 조회를 사용 가능하게 설정합니다. 다른 웹 사이트에서 역방향 조회를 허용하려면 다음 줄의 1을 역방향 조회를 수행할 웹 사이트의 숫자 값으로 바꿉니다.
Set oIIS = GetObject("IIS://localhost/w3svc/1/ROOT")

특정 웹 사이트의 숫자 값을 확인하는 가장 쉬운 방법은 로그 파일 이름이 지정되어 있는 폴더 이름의 끝에 나와 있는 숫자를 보는 것입니다. MMC/인터넷 서비스 관리자에서 해당 웹 사이트를 선택하고 동작, 등록 정보, 활성 로그 형식, 등록 정보를 차례로 선택하여 이를 확인할 수 있습니다. 기본 웹 사이트의 로그 파일 이름은 W3SVC1\exyymmdd.log이며, /1/ROOT 값에 해당합니다.

ASP를 사용하는 방법:
<%
Dim oIIS
Dim vEnableRevDNS
Dim vDisableRevDNS

vEnableRevDNS = 1
vDisableRevDNS = 0

Set oIIS = GetObject("IIS://localhost/w3svc/1/ROOT")
oIIS.Put "EnableReverseDNS", vEnableRevDNS
oIIS.SetInfo
Set oIIS = Nothing

%>
명령줄을 사용하는 방법:
cscript adsutil.vbs set /w3svc/1/ROOT/EnableReverseDNS "TRUE"

추가 정보

메타베이스에 대한 자세한 내용은 IIS 설명서와 다음 문서를 참조하십시오.
240941  (http://support.microsoft.com/kb/240941/KO/ ) IIS 메타베이스 소개
이 문서에 나와 있는 스크립팅 기술에 대한 자세한 내용은 다음을 참조하십시오.
http://msdn.microsoft.com/scripting (http://msdn.microsoft.com/scripting)

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
키워드: 
kbhowto kbmetabase KB245574
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store