在Windows操作系統中,IIS日志記錄應該視為ISS所必需的而不是可選的組件,這主要是因為日志文件對于管理IIS服務器來說具有很關鍵的作用,如在這個IIS服務器在受到安全威脅的情況下,可以利用日志文件并對其中包含的內在細節執行排疑式審查,如到IIS服務器發生故障后,也可以利用這個日志文件中所記錄的信息來檢查維護過程并識別系統中的問題。
IIS日志里面記錄著網站訪問的狀況,查看IIS訪問日志能夠給站長提供有力的數據參考(具體可查看馬海祥博客《IIS日志的作用有哪些》的相關介紹),那么,我們該如何開啟IIS日志呢?又該如何設置IIS日志呢?
如果你是購買的虛擬主機,在虛擬主機管理面板上都有開啟日志的選項,可以一鍵開啟,很簡單,很傻瓜,管理系統不同,但開啟是一樣的。
如果你的是獨立服務器,要想開啟IIS訪問日志,就需要你按照馬海祥所介紹的步驟來做好配置了。
1、在“開始/程序/管理工具”中,打開“Internet信息服務”,在指定站點上點擊鼠標右鍵,選擇“屬性”。
2、打開需要統計的網站的屬性頁面,在此頁面中選擇“啟動日志記錄”,并且選擇活動日志格式為“W3S擴充日志文件格式”,如下圖:
3、點擊“屬性”按鈕,開始配置W3S日志文件格式屬性,在其中:
(1)、日志時間間隔選擇“每天”。
(2)、選擇為文件命名回卷使用本地時間。
(3)、日志文件目錄,通常不需要修改,但是要記錄下保存位置,以方便下一步的發布日志。本例子中,日志保存在%windir%\system32\logfiles\W3SVC1\,%windir%為WINNT目錄,如下圖:
4、點擊“活動日志格式”右側的“屬性”,設置“擴展屬性”,在“擴展日志記錄選項”里選擇如下選項,并點擊“確定”保存,這樣能夠得到最全的日志信息。
(1)、日期(date)
(2)、時間(time)
(3)、客戶端IP地址(c-ip)
(4)、用戶名(cs-username)
(5)、方法(cs-method)
(6)、URI資源(cs-uri-stem)
(7)、URI查詢(cs-uri-query)
(8)、協議狀態(sc-status)
(9)、發送的字節數(sc-bytes)
(10)、協議版本(cs-version)
(11)、用戶代理(csUser-Agent)
(12)、引用站點(csReferer)
5、在“開始/程序/管理工具”中,打開“Internet信息服務(IIS)管理器”,如下圖:
6、添加虛擬目錄
首先選中“站點”,右鍵點擊“新建”,“虛擬目錄”。
彈出“虛擬目錄創建向導”,如下圖所示:
給虛擬目錄命名,這里我們取名“wwwlogs”,如下圖所示:
7、選擇日志所在路徑,C:\winnt\system32\LogFiles\W3SVC1\當前日志所在的目錄名稱。
選中后,點擊下一步,繼續進行設置。
8、設置的虛擬目錄權限,從安全性考慮通常建議只允許“讀取”和“瀏覽”(Win2003系統默認只有讀取的權限)。
9、點擊“完成”按扭完成虛擬目錄的設置。
以下就是設置完成后的效果,我們可以看到在“默認站點”里多了一個wwwlogs的虛擬目錄及該目錄中的日志文件。
10、設置虛擬目錄訪問權限。
右鍵wwwlogs虛擬目錄,單擊“權限(I)”,如下圖所示:
在“安全”選項內單擊“添加(D)…”,如下圖所示:
在出現的“選擇用戶或組”的對話框內選點選“高級(A)…”按鈕,如下圖所示:
將“Everyone”組帳號添加到對象框內,如下圖所示:
賦予Everyone帳號“完全控制”的權限,確定選擇,如下圖所示:
11、設置虛擬目錄IP訪問限制。
打開虛擬目錄wwwlogs屬性頁面中的“目錄安全性”,如下圖:
然后點擊“IP地址及域名限制”的“編輯”按鈕,選擇“默認情況下所有計算機將被拒絕訪問,除xxx.xxx.xxx.xxx IP地址外”,xxxx.xxx.xxx.xxx也就是授權可以訪問虛擬目錄的網站e伴服務器,如下圖(例子中假設網站服務器IP地址為10.10.10.10):
12、設置IIS6允許下載“.log”文件。
右鍵wwwlogs虛擬目錄,單擊“屬性(R)”。
wwwlogs虛擬目錄屬性選“HTTP頭”項,再選擇“MIME類型(M)”,如下圖所示:
在新建MIME類型內,新建MIME類型,擴展名為“.log”,MIME類型填入“application”,確定保存退出。
測試,如果可以訪問則配置成功;如果不可訪問,請檢查以上操作步驟,重新做好配置。
13、IIS日志中返回狀態代碼的含義
我們繼續學習下,如何看IIS日志代碼(具體可查看馬海祥博客《如何查看及分析網站IIS日志文件》的相關介紹),打開IIS日志后,你會看見IIS文件里面有很多訪問記錄,baiduspider,Googlebot等就是蜘蛛了,蜘蛛爬過后都會留下記錄的,馬海祥將狀態代碼也列在下面:
100 - 表示已收到請求的一部分,正在繼續發送余下部分。
101 - 切換協議。
200 - 確定客戶端請求已成功。
2XX - 成功,服務器成功地接受了客戶端請求(只要是2XX的狀態,都表示成功)。
201 - 已創建。
202 - 已接受。
203 - 非權威性信息。
204 - 無內容。
205 - 重置內容。
206 - 部分內容。
300 - 針對收到請求,服務器可執行多種操作。
301 - 永久移動轉移,請求的內容已永久移動其他新位置(具體可查看馬海祥博客《什么是301永久重定向》的相關介紹)。
302 - 臨時移動轉移,請求的內容已臨時移動新的位置
304 - 未修改。自從上次請求后,請求的內容未修改過。
307 - 臨時重定向,服務器目前從不同位置響應請求,但請求者應繼續使用原有位置來進行以后的請求。
400 - 錯誤的請求。
401 - 訪問被拒絕,IIS 定義了許多不同的401錯誤,它們指明更為具體的錯誤原因,這些具體的錯誤代碼在瀏覽器中顯示,但不在IIS日志中顯示:
401.1 - 登錄失敗。
401.2 - 服務器配置導致登錄失敗。
401.3 - 由于 ACL 對資源的限制而未獲得授權。
401.4 - 篩選器授權失敗。
401.5 - ISAPI/CGI 應用程序授權失敗。
401.7 - 訪問被 Web 服務器上的 URL 授權策略拒絕。這個錯誤代碼為 IIS 6.0 所專用。
403 - 禁止訪問:IIS定義了許多不同的403錯誤,它們指明更為具體的錯誤原因(具體可查看馬海祥博客《403 Forbidden錯誤的原因和解決方法》的相關介紹):
403.1 - 執行訪問被禁止。
403.2 - 讀訪問被禁止。
403.3 - 寫訪問被禁止。
403.4 - 要求 SSL.
403.5 - 要求 SSL 128.
403.6 - IP 地址被拒絕。
403.7 - 要求客戶端證書。
403.8 - 站點訪問被拒絕。
403.9 - 用戶數過多。
403.10 - 配置無效。
403.11 - 密碼更改。
403.12 - 拒絕訪問映射表。
403.13 - 客戶端證書被吊銷。
403.14 - 拒絕目錄列表。
403.15 - 超出客戶端訪問許可。
403.16 - 客戶端證書不受信任或無效。
403.17 - 客戶端證書已過期或尚未生效。
403.18 - 在當前的應用程序池中不能執行所請求的URL.這個錯誤代碼為IIS 6.0所專用。
403.19 - 不能為這個應用程序池中的客戶端執行CGI.這個錯誤代碼為IIS 6.0所專用。
403.20 - Passport 登錄失敗,這個錯誤代碼為IIS 6.0所專用。
404 - 未找到請求的內容(具體可查看馬海祥博客《404 Not Found錯誤頁面的解決方法和注意事項》的相關介紹)。
404.0 - 未找到文件或目錄。
404.1 - 無法在所請求的端口上訪問 Web站點。
404.2 - Web 服務擴展鎖定策略阻止本請求。
404.3 - MIME 映射策略阻止本請求。
405 - 用來訪問本頁面的 HTTP 謂詞不被允許(方法不被允許)
406 - 客戶端瀏覽器不接受所請求頁面的 MIME 類型。
407 - 要求進行代理身份驗證。
412 - 前提條件失敗。
413 - 請求實體太大。
414 - 請求 URI 太長。
415 - 不支持的媒體類型。
416 - 所請求的范圍無法滿足。
417 - 執行失敗。
423 - 鎖定的錯誤。
500 - 服務器內部錯誤。
500.12 - 應用程序正忙于在 Web 服務器上重新啟動。
500.13 - Web 服務器太忙。
500.15 - 不允許直接請求 Global.asa.
500.16 - UNC 授權憑據不正確。這個錯誤代碼為 IIS 6.0 所專用。
500.18 - URL 授權存儲不能打開。這個錯誤代碼為 IIS 6.0 所專用。
500.100 - 內部 ASP 錯誤。
501 - 服務器無法完成請求的功能。
502 - 服務器用作網關或代理服務器時收到了無效響應。
502.1 - CGI 應用程序超時。
502.2 - CGI 應用程序出錯。
503 - 服務不可用。這個錯誤代碼為 IIS 6.0 所專用。
504 - 網關超時。
505 - HTTP 版本不受支持。
博客點評:
如果網站啟用了日志記錄,管理員就可以通過查看日志跟蹤網站被訪問的情況,如哪些用戶訪問了本站點、訪問者查看了什么內容,以及最后一次查看該信息的時間等,可以使用日志來評估內容受歡迎程度或識別信息瓶頸,有時還可以通過日志查出非授權用戶訪問網站以便采取應對措施。
本文為馬海祥博客原創文章,如想轉載,注明出處轉載請注明原文網址:http://www.mbottrell.com/tjseo/26.html