IIS服務器出錯的原因是復雜的。象服務啟動失敗、IIS進程中斷或者站點不能啟動這些錯誤都會在系統日志中記錄一個錯誤事件。不論IIS出現何種錯誤,在確定排錯方案之前,都應先使用事件查看器查閱系統日志所記錄的相關事件。某些錯誤顯然是由服務器硬件的損壞而造成的,而另一些由於軟件原因造成的錯誤往往不易察覺。本節就一般性的IIS排錯提供指導性的介紹。
重新啟動IIS
按照微軟產品的一般性排錯方法和故障解決方案,大多數軟件問題可以通過重新啟動到方法得以解決。作為IIS5.0的新功能之一,我們可以在不重新啟動計算機的情況下重啟IIS服務,甚至相當嚴重的問題都可以采用這種方法解決。重新啟動IIS服務可以強迫系統重置IIS進程的內存空間,故由於內存錯誤引起的問題可以得到解決。重啟IIS的方法主要用於下列情況:網站應用程序癱瘓、且不能有效加以控制;網站應用程序工作不正常或者不穩定。[/TD] [/TR][/TABLE]重新啟動IIS服務的過程中,全部當前連接都不能保留,且重啟期間服務器上的全部站點都不能工作。如果重啟IIS服務不能解決問題,則重啟服務器亦不會有效。
當站點應用程序不能正常工作時,按照下述步驟重新啟動服務器的IIS服務:
1.在IIS管理控制樹中展開IIS節點,選擇需要重新啟動IIS服務的計算機。
2.單擊【操作】菜單,選擇【重新啟動IIS】。
3.在【停止/啟動/重新啟動】對話框中的【您向要IIS做什麼】下拉列表中選擇【重新啟動服務器的IIS】 ,單擊【確定】。
4.正在關閉】對話框顯示重新啟動IIS的進度,如果對話框長時間沒有反應,單擊【現在結束】並重新進行上述操作。
注意:不能使用基於HTML的IIS管理器(遠程管理模式)進行上述重啟操作。
對於單個站點的穩定性問題,不必重新啟動整個IIS進程,只要重啟站點即可。IIS排錯
備份/還原IIS
如果世界上存在一個萬無一失的服務器安全規劃方案,那就是備份。曾經有人指出:一個優秀的系統管理員所做的最重要的三項工作就是:備份、備份、備份。
IIS的實現機制包括一個類似注冊表的元數據庫:MetaBase,有關IIS本身和站點的配置屬性全部保存在Windows 2000和元數據庫MetaBase中。因此,只要將相關的注冊表和元數據庫進行備份,即可保存站點相關的全部配置。即使在刪除站點甚至重新安裝IIS之後,仍然能夠利用備份恢復到原來的狀態。
備份IIS的步驟如下:
1.在IIS管理器中展開IIS節點,選擇向要備份的計算機。
2.單擊【操作】菜單,選擇【備份/還原配置】。
3.在【備份/還原配置】對話框中的【備份】列表中列出全部備份文件以及備份時間。單擊【創建備份】按鈕。
4.在【備份配置】對話框中指定新建備份的名稱,單擊【確定】。
5.單擊【關閉】完成備份。
默認情況下,備份文件將保存在 Winntsystem32inetsrvMetaBack目錄中。
恢復備份的方法與此類似,在【備份/還原配置】對話框中的【備份】列表中選擇一個備份文件,單擊【還原】。然後再如左圖所示的提示對話框中單擊【確定】,一段時間之後,IIS服務器恢復到進行備份時所處的狀態。
如果服務器重裝IIS之後需要恢復備份,則在上述恢復操作的基礎上,還應進行額外的操作,步驟如下:
1.在命令提示符下,鍵入cscript.exe X:InetPubAmdinScriptsAdsutil.vbs enumw3svc,此處"X"是安裝IIS的驅動器號。從列出的設置中,查找WamUserName和相關的WAMUserPass的值。
2.在控制面板中雙擊【管理工具】,然後雙擊【計算機管理】。
3.選擇【本地用戶管理器】,然後單擊【用戶】。雙擊【IWAM_computername】用戶帳戶。鍵入從以前步驟找到的WAMUserPass值,並單擊【確定】。
4.在【配置備份名】對話框中,選擇創建的備份文件,然後單擊【還原】。此時配置將得到完全還原。
IIS排錯
TCP/IP排錯
TCP/IP協議問題往往是導致IIS不能正常工作的原因。當IIS出現錯誤但是可以判斷IIS服務本身沒有問題時,就要考慮是否網絡連接出現問題,簡單排除網絡硬件損壞所造成的問題之後,我們的注意力就應集中在網絡協議,主要是TCP/IP協議上。
Windows 2000提供了一系列TCP/IP排錯工具,這些主要基於命令提示行的工具提供了診斷網絡問題的強大手段。
使用ipconfig工具檢查TCP/IP配置
ipconfig是一個查閱和管理客戶機TCP/IP配置狀態的命令提示行工具。在命令提示行中鍵入:ipconfig並回車,得到如右圖所示的計算機基本TCP/IP配置屬性,包括IP地址、子網掩碼和缺省網關。
在命令提示行中鍵入:ipconfig /all並回車,得到詳細模式的TCP/IP配置狀態,除了基本信息之外,還包括主機名、DNS設置、WINS設置、DHCP設置以及物理地址、節點類型等TCP/IP信息。
如果計算機啟用DHCP並使用DHCP服務器獲得配置,可以使用ipconfig /renew命令開始刷新租約。也可以使用帶/release選項的ipconfig命令立即釋放主機的當前DHCP配置。
對於Windows 95和Windows 98客戶機,應使用 winipcfg命令而不是ipconfig命令。
使用ping命令測試連接
Ping命令有助於驗證IP級的連通性,發現和解決問題時,可以使用Ping向目標主機名或IP地址發送ICMP回應請求。在需要驗證主機能否連接到TCP/IP網絡和網絡資源時使用Ping。
Ping命令實際上是向目標主機發送若干(缺省為4個)數據包,如果本地計算機與目標主機之間能夠連通,目標主機將回復一條響應信息,如右上圖所示,響應信息包括響應時間和TTL值。成功的Ping同一台主機說明IP數據能夠在本地與目標主機之間傳送。
如果收到超時信息,如右下圖所示,則說明本地主機與目標主機之間的TCP/IP連接不能建立,可能的原因包括網絡故障,協議錯誤以及TCP/IP配置錯誤等在確認網絡連通性的時候,應按照以下順序進行Ping測試:
1.Ping本地循環地址127.0.0.1,確定本地TCP/IP配置是否正確。
在命令提示行鍵入Ping 127.0.0.1。
2.Ping本機地址,檢驗本地IP地址設置是否正確。
3.Ping缺省網關地址,檢驗能否與本地子網之外的主機進行通信。
4.Ping遠程子網上的主機,檢驗能否通過路由器進行遠程通信。
如果以上Ping命令均能夠得到響應,說明TCP/IP配置能夠支持網絡通信。否則,針對相應的網絡組件進行設置檢查。
使用netstat工具顯示連接統計
可以使用netstat命令顯示協議統計信息和當前的TCP/IP連接。
netstat -a命令將顯示所有連接,而netstat -r顯示路由表和活動連接。netstat -e命令將顯示 Ethernet 統計信息,而netstat -s顯示每個協議的統計信息。
如果使用 netstat -n,則不能將地址和端口號轉換成名稱。
IIS錯誤代碼大全
400 無法解析此請求。
401.1 未經授權:訪問由於憑據無效被拒絕。
401.2 未經授權: 訪問由於服務器配置傾向使用替代身份驗證方法而被拒絕。
401.3 未經授權:訪問由於 ACL 對所請求資源的設置被拒絕。
401.4 未經授權:Web 服務器上安裝的篩選器授權失敗。
401.5 未經授權:ISAPI/CGI 應用程序授權失敗。
401.7 未經授權:由於 Web 服務器上的 URL 授權策略而拒絕訪問。
403 禁止訪問:訪問被拒絕。
403.1 禁止訪問:執行訪問被拒絕。
403.2 禁止訪問:讀取訪問被拒絕。
403.3 禁止訪問:寫入訪問被拒絕。
403.4 禁止訪問:需要使用 SSL 查看該資源。
403.5 禁止訪問:需要使用 SSL 128 查看該資源。
403.6 禁止訪問:客戶端的 IP 地址被拒絕。
403.7 禁止訪問:需要 SSL 客戶端證書。
403.8 禁止訪問:客戶端的 DNS 名稱被拒絕。
403.9 禁止訪問:太多客戶端試圖連接到 Web 服務器。
403.10 禁止訪問:Web 服務器配置為拒絕執行訪問。
403.11 禁止訪問:密碼已更改。
403.12 禁止訪問:服務器證書映射器拒絕了客戶端證書訪問。
403.13 禁止訪問:客戶端證書已在 Web 服務器上吊銷。
403.14 禁止訪問:在 Web 服務器上已拒絕目錄列表。
403.15 禁止訪問:Web 服務器已超過客戶端訪問許可證限制。
403.16 禁止訪問:客戶端證書格式錯誤或未被 Web 服務器信任。
403.17 禁止訪問:客戶端證書已經到期或者尚未生效。
403.18 禁止訪問:無法在當前應用程序池中執行請求的 URL。
403.19 禁止訪問:無法在該應用程序池中為客戶端執行 CGI。
403.20 禁止訪問:Passport 登錄失敗。
404 找不到文件或目錄。
404.1 文件或目錄未找到:網站無法在所請求的端口訪問。
注意 404.1 錯誤只會出現在具有多個 IP 地址的計算機上。如果在特定 IP 地址/端口組合上收到客戶端請求,而且沒有將 IP 地址配置為在該特定的端口上偵聽,則 IIS 返回 404.1 HTTP 錯誤。例如,如果一台計算機有兩個 IP 地址,而只將其中一個 IP 地址配置為在端口 80 上偵聽,則另一個 IP 地址從端口 80 收到的任何請求都將導致 IIS 返回 404.1 錯誤。只應在此服務級別設置該錯誤,因為只有當服務器上使用多個 IP 地址時才會將它返回給客戶端。