2009-06-05 44 views
4

%a是「遠程IP地址」,%h是「遠程主機」,但是當我測試它時,都會打印出相同的IP地址。有什麼不同?Apache日誌 - %a和%h之間有什麼區別?

示例日誌輸出日誌格式「%的%H:

192.168.1.2 192.168.1.2 
192.168.1.2 192.168.1.2 
192.168.1.2 192.168.1.2 

回答

4

遠程主機值試圖對IP地址執行DNS查找給你一個主機名,如果resolveHosts屬性被設置爲如果沒有,遠程主機只返回遠程IP地址

+2

請注意,此選項可能會降低您的服務器速度。 – 2009-06-05 07:19:29

1

%h是主機名稱,%a是IP地址,如果apache正在進行名稱解析,%h將只顯示主機名稱。放慢你的服務器,一般不推薦。

%h的描述直接取自Apache documentation: -

這是向服務器提出請求的客戶端(遠程主機)的IP地址。如果HostnameLookups設置爲On,則服務器將嘗試確定主機名並將其記錄在IP地址的位置。但是,不建議使用此配置,因爲它會顯着降低服務器速度。相反,最好使用日誌後處理器(如logresolve)來確定主機名。此處報告的IP地址不一定是用戶所在機器的地址。如果在用戶和服務器之間存在代理服務器,則該地址將是代理的地址,而不是始發機器。

相關問題