Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

IIS 5.0/6.0排錯指南與HTTP錯誤代碼完整手冊:從服務啟動失敗到404.1深度解析

編輯:關於伺服器

IIS故障成因複雜,涉及服務啟動、進程崩潰、站點綁定、協議棧、應用程序池等多層面。本文提供系統化排錯方法論、核心操作步驟,並收錄完整HTTP錯誤代碼對照表,作為網管案頭必備參考。

一、通用排錯方法論

1. 事件查看器優先原則

所有IIS錯誤(服務啟動失敗、進程中斷、站點無法啟動)均在「系統日誌」/「應用程序日誌」記錄事件。確定排錯方案前,必先查閱事件查看器,按Event ID、Source(W3SVC、IISADMIN、ASP.NET等)篩選。

2. 重啟IIS服務:最有效的「萬金油」

IIS 5.0新增「無需重啟OS重啟IIS」功能,通過重置進程內存空間解決內存洩漏、佇列阻塞、COM組件掛起等問題。

適用場景: Web應用程序癱瘓不可控、工作不穩定、內存異常增長。

操作步驟:

  1. IIS管理器 → 展開本地計算機
  2. 「操作」菜單 → 「重新啟動IIS」
  3. 選擇「重新啟動服務器的IIS」 → 確定
  4. 等待進度條完成(若卡死點「現在結束」重試)
注意: 重啟過程中所有當前連接斷開、所有站點不可用。無法通過HTML遠程管理介面執行此操作。若重啟IIS無效,重啟OS通常也無效,需深入排查代碼/配置/硬件。

3. 單站點重啟:精準止血

僅單站點不穩定時,右鍵站點 → 「停止」 → 再「啟動」,避免影響其他業務。

二、備份/還原IIS配置:災難恢復底線

IIS配置存儲於Metabase(元數據庫)與註冊表。備份即保存站點綁定、虛擬目錄、應用程序池、認證設置等所有配置。

備份步驟:

  1. IIS管理器 → 右鍵計算機 → 「備份/還原配置」
  2. 「創建備份」 → 輸入名稱(如Pre_Change_20240115) → 確定
  3. 文件存放:%windir%\system32\inetsrv\MetaBack\

還原步驟:

  1. 同介面選擇備份文件 → 「還原」 → 確定

重裝IIS後還原額外步驟(關鍵):

  1. 命令行:cscript.exe X:\InetPub\AdminScripts\Adsutil.vbs enum w3svc 記錄 WamUserName 與 WAMUserPass
  2. 計算機管理 → 本地用戶 → IWAM_<機器名> → 設置密碼為上一步記錄的 WAMUserPass
  3. 再執行「備份/還原配置」→ 還原備份文件
此步驟確保IWAM帳號密碼與Metabase同步,否則還原後ASP/COM+應用將無法啟動。

三、TCP/IP協議層排查:網絡不通的隱形殺手

當IIS服務正常但站點無法訪問,優先排查TCP/IP棧。

1. ipconfig 核心用法

ipconfig                  # 基本IP/掩碼/網關
ipconfig /all             # 完整信息:主機名、DNS、WINS、DHCP、MAC、節點類型
ipconfig /renew           # 刷新DHCP租約
ipconfig /release         # 釋放DHCP配置
Win95/98使用 winipcfg 圖形工具。

2. ping 分級連通性測試

  1. ping 127.0.0.1 → 本地TCP/IP棧完整性
  2. ping <本機IP> → 本機IP配置正確性
  3. ping <默認網關> → 能否跨子網通信
  4. ping <遠程主機> → 端到端路由通暢性

全通 → TCP/IP配置支持網絡通信;任一失敗 → 針對性檢查網卡/驅動/交換機/路由/防火牆。

3. netstat 連接狀態分析

netstat -a    # 所有連接/監聽端口
netstat -n    # 數字顯示IP/端口(不解析名稱,速度快)
netstat -r    # 路由表
netstat -e    # 乙太網統計(錯誤包、衝突包)
netstat -s    # 各協議統計(TCP/UDP/ICMP/IP)

關注 SYN_RCVD 堆積(SYN Flood特徵)、TIME_WAIT 大量佔用(需調整 TcpTimedWaitDelay)。

四、HTTP錯誤代碼完整對照表(IIS 5.0/6.0)

4xx 客戶端錯誤

代碼含義子代碼細分
400無法解析請求(語法錯誤)-
401未授權401.1 憑證無效 / .2 服務器配置拒絕 / .3 ACL拒絕 / .4 篩選器授權失敗 / .5 ISAPI/CGI授權失敗 / .7 URL授權策略拒絕
403禁止訪問403.1 執行被拒 / .2 讀取被拒 / .3 寫入被拒 / .4 需SSL / .5 需SSL128 / .6 IP被拒 / .7 需客戶端證書 / .8 DNS名被拒 / .9 連接數超限 / .10 配置拒絕執行 / .11 密碼已改 / .12 證書映射器拒絕 / .13 證書吊銷 / .14 目錄列表被拒 / .15 客戶端許可證超限 / .16 證書格式錯/不信任 / .17 證書過期/未生效 / .18 應用程序池無法執行URL / .19 應用程序池無法執行CGI / .20 Passport登錄失敗
404找不到文件/目錄404.1 站點無法在請求端口訪問(多IP場景:未在該IP綁定該端口)

5xx 服務端錯誤

代碼含義常見原因
500內部服務器錯誤ASP/PHP/.NET代碼異常、COM組件失敗、權限不足、配置錯誤、元數據庫損壞
501未實現不支持的HTTP方法
502錯誤網關反向代理/上游服務器無響應
503服務不可用應用程序池停止、佇列滿、服務器維護模式
504網關超時上游響應超時

五、進階排查工具鏈

  • Failed Request Tracing (FREB):IIS 7.0+內置,捕獲完整請求處理管道(模塊、處理程序、認證、授權、過濾器)耗時與錯誤詳情
  • DebugDiag / ProcDump:抓取 w3wp.exe 崩潰/掛起時的完整內存轉儲,配合WinDbg分析托管/非托管堆棧
  • ETW/PerfView:內核級事件跟蹤,分析CPU、GC、鎖爭用、I/O延遲
  • Log Parser / Log Parser Studio:SQL-like查詢IIS日誌,快速統計Top URL、Status分布、User-Agent異常

六、排錯清單速查卡

  1. 事件查看器 → System/Application → 關鍵Event ID
  2. IIS日誌 → 確認狀態碼、子狀態碼、Win32狀態、耗時
  3. 應用程序池狀態 → Started? 身份帳號密碼正確? .NET版本匹配? 托管管道模式?
  4. NTFS權限 → IUSR/IIS_IUSRS/應用程序池身份 對 站點目錄/上傳目錄/Temp 讀寫權限
  5. 綁定衝突 → netstat -ano | findstr :80 確認端口佔用進程
  6. 防火牆/殺毒 → 臨時關閉驗證(生產環境謹慎)
  7. 依賴服務 → W3SVC依賴 IISADMIN, RPC, HTTP.sys 等均運行中

系統化排錯,拒絕盲目重啟。掌握日誌語言、錯誤代碼字典與工具鏈,是從「重啟工程師」進階為「架構級運維」的必經之路。

Copyright © Windows教程網 All Rights Reserved