校園網環境遷移至 Windows Server 2003 常遇到 IIS 隔離模式混淆、應用程式集區配置不當導致網站互相影響、權限設定遺漏等問題。本文對比兩種隔離模式,詳細演示集區建立、指派、身分識別設定全流程,並針對校園多網站共存場景給出最佳實踐建議。
一、IIS 隔離模式對比
| 特性 | IIS 5.0 隔離模式 (相容模式) | IIS 6.0 工作進程隔離模式 (預設/推薦) |
| 進程模型 | Inetinfo.exe (進程內) + DLLHost.exe (進程外) | 多個 w3wp.exe 工作進程,直接由 HTTP.sys 核心驅動調度 |
| 應用程式隔離 | 依賴進程邊界,效能差、易互相影響 | 應用程式集區:集區間進程完全隔離,一集區故障不波及他集區 |
| 預設身分 | LocalSystem (高權限,風險大) | Network Service (低權限,安全) |
| 可靠度 | 單一進程故障可導致全站掛掛 | 進程級隔離 + 健康偵測 + 快速失敗保護,高可用 |
| 效能 | 用戶模式切換開銷大 | 核心模式 HTTP.sys 快速路由,吞吐量高 |
結論:生產環境務必使用工作進程隔離模式,並為每個網站建立獨立集區。
二、切換/確認隔離模式
- IIS 管理器 → 右鍵本機電腦 → 屬性 → 「服務」分頁。
- 勾選「在 IIS 5.0 隔離模式下執行」即為相容模式;取消勾選 (預設) 為工作進程隔離模式。
- 切換需重新啟動 IIS 服務 (iisreset)。

三、應用程式集區核心概念
- 定義:一組設定 (身分識別、回收條件、健康偵測、CPU/記憶體限制) + 一或多個
w3wp.exe 進程。
- 隔離邊界:集區之間進程完全分離,記憶體、處理序、安全性語彙基皆獨立。
- 請求流向:HTTP.sys (核心) → 依 URL 導向對應集區佇列 → w3wp.exe 處理 → 回應。
四、建立專屬應用程式集區 (以 test_pool 為例)
- IIS 管理器 → 本機電腦 → 應用程式集區 → 右鍵「新增」→ 「應用程式集區」。
- 名稱:
test_pool;集區 ID 可自訂 (如 AppPool#1);可選擇現有集區為範本。
- 確定完成。

五、配置集區身分識別 (關鍵安全步驟)
- 右鍵
test_pool → 屬性 → 「身分識別」分頁。
- 選「可設定」 → 瀏覽 → 輸入專屬帳號 (如
app_test_user) 及密碼。
- 該帳號需預先建立:本地使用者 → 加入 IIS_WPG 群組 → 移出 Users/Guests → 設定密碼永不過期、使用者不可變更密碼。

六、將網站/虛擬目錄指派至集區
- 右鍵目標網站/虛擬目錄 → 屬性 → 「主目錄」/「虛擬目錄」/「目錄」分頁。
- 確認「應用程式名稱」已填寫 (未填寫點「建立」輸入名稱)。
- 「應用程式集區」下拉選單選取
test_pool → 確定。

七、校園多網站共存最佳實踐清單
- [ ] 每個網站 (系所、單位、專案) 獨立集區 + 專屬身分帳號。
- [ ] 集區身分帳號最小權限:僅網站目錄完全控制、系統必要讀取路徑 (Common Files、Temp、ASP Compiled Templates)。
- [ ] 啟用集區「健康偵測」:Ping 間隔 30 秒、啟動逾時 90 秒、關閉逾時 90 秒。
- [ ] 啟用「快速失敗保護」:5 分鐘內失敗 5 次 → 自動停用集區,防止惡迴圈拖垮伺服器。
- [ ] 設定「回收條件」:固定時間 (如凌晨 3:00)、記憶體上限 (如 500MB)、請求數上限 (如 10000) — 釋放記憶體碎片、防洩漏。
- [ ] 依網站重要性設定 CPU/頻寬/連線配額,避免單一站點佔用資源。
- [ ] 定期匯出集區配置 (IIS 管理器 → 所有工作 → 儲存配置到檔案) 以備災難恢復。
落實上述配置,校園 Web 伺服器即可在單一硬體上安全、穩定地支援數十至上百個獨立網站,滿足教學、研究、行政多元需求。