如何設定 REMOTE_HOST 在 IIS 中執行反向 DNS 查閱

文章翻譯 文章翻譯
文章編號: 245574 - 檢視此文章適用的產品。
我們強烈建議所有使用者都升級到 Microsoft 網際網路資訊服務 (IIS) 7.0 版 Microsoft Windows Server 2008 上執行。 IIS 7.0 大幅提升網頁基礎結構的安全性。如需有關 IIS 與安全性相關的主題請造訪下列的 Microsoft Web 網站:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx
如需有關 IIS 7.0 的詳細資訊,請造訪下列 Microsoft 網站]:
http://www.iis.net/default.aspx?tabid=1
全部展開 | 全部摺疊

結論

預設情況下,在 ASP 中執行一個 Request.ServerVariables("REMOTE_HOST") 傳回造成網際網路資訊伺服器 (IIS) 來傳回 REMOTE_ADDR 用戶端 IP 位址的值為 Null 值。這是設計來增加網頁的效能裝載。不過,藉由變更在 Metabase 中的設定,IIS 執行反向 DNS 查閱,並傳回連接用戶端的主機名稱。

注意: 啟用反向查閱會帶來額外處理負荷,會降低您的 Web 伺服器的效能。這項資訊不建議用於高容量網站效能很重要。

已啟用中繼庫設定,REMOTE_HOST 伺服器變數的每個要求會導致 IIS 將名稱解析要求傳遞至作業系統系統嘗試執行反向 DNS 查閱。如果反向 DNS 查閱失敗傳回主機名稱、 作業系統然後嘗試使用 NetBIOS 名稱解析。如果 NetBIOS 解析失敗空值傳回給 REMOTE_ADDR 值 (用戶端的 IP 位址) 傳回給原始的 REMOTE_HOST 要求的 IIS。

反向查閱可以設定整個 Web 伺服器或個別網站的要求進行系統管理存取 Metabase 透過 IIS 管理物件。本文將告訴您兩種方法可以修改與 IIS 管理物件 Metabase、 使用動態伺服器網頁以及使用 Windows 指令碼主機],從命令列。下列的動態伺服器網頁範例 Web 站台或有啟用的指令碼] 或 [執行存取的虛擬目錄中建立某.asp 檔案並將下列程式碼複製到.asp 檔案。命令列方法需要管理範例指令碼 (在 IIS 安裝期間安裝) 和 Windows 指令碼主機會安裝 (WSH 安裝 Windows NT 選項封包、 Windows 2000、 Internet Explorer 5 和從:
Scripting Download Page
命令列方法需要 Adsutil.vbs 指令碼所在的位置在命令提示字元中發出的指示。Adsutil.vbs 指令碼位置版本 IIS,而定,但處於預設下列目錄:
   Internet Information Server 4.0 - C:\WinNT\System32\InetSrv\AdminSamples<BR/>
   Internet Information Server 5.0 - C:\InetPub\AdminScripts
 
				
因為不當修改中繼庫可以產生負面影響網際網路資訊伺服器,Microsoft 強烈建議進行任何修改前備份 Metabase。

範例 1-啟用反向尋查的所有網站:

這個 ASP 程式碼範例啟用所有的 Web 網站時發出一個 Request.ServerVariables("REMOTE_HOST") 執行反向對應。由於對中繼庫階層式的設計,明確沒有 EnableReverseDNS 項目設定的 Web 網站會繼承自較早的節點值。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")。網站所參考在 Metabase 中的整數值。因為預設的網站建立的第一個網站它會接收參照數字 1。本範例啟用反向查閱的只有 [預設的 Web 站台,以允許其他的網站上的反向查閱取代下面這一行中的 1:
Set oIIS = GetObject("IIS://localhost/w3svc/1/ROOT")
				

具有數值的 Web 站台的需要執行反向對應。判斷數字值的特定網站最簡單的方法是查看列出的資料夾名稱結尾數而記錄檔名稱在指定。這可以藉由選取的網站,並選擇動作、 內容、 使用中的記錄格式,然後屬性存取透過 MMC/Internet 服務管理員。預設的 Web 站台的記錄檔檔案名稱是對應於 /1/ROOT 值的 W3SVC1\exyymmdd.log。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 中找到有關中繼庫的詳細資訊文件和文件中:
240941IIS Metabase 的簡介
在找到有關本文所列的指令碼處理技術的詳細資訊
http://msdn2.microsoft.com/en-us/library/ms950396.aspx

屬性

文章編號: 245574 - 上次校閱: 2008年7月3日 - 版次: 6.1
這篇文章中的資訊適用於:
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
關鍵字:?
kbmt kbhowto kbmetabase KB245574 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:245574
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com