前言
IIS 6.0 預設啟用許多非必要功能,不僅消耗資源、拖慢效能,更增加攻擊面。以下六項設定可顯著改善效能與安全性。
1. 禁用多餘 Web 服務擴充
- 路徑:IIS 管理員 → 「Web 服務擴充」。
- 原則:用到啟用,不用禁用。
- 靜態網站:全部禁用。動態網站(ASP):僅啟用「Active Server Pages」。PHP/JSP 需另裝模組,其餘一律禁用。
- 高風險擴充(如「所有未知 CGI 擴充」、「伺服器端包含檔案」)必須禁用。
2. 刪除不必要的應用程式對應(副檔名映射)
- 路徑:網站右鍵「屬性」→「主目錄」→「配置」→「應用程式對應」。
- 預設 8 種映射中,除
.asp 外(.asa、.cer、.cdx 等)幾乎不用,且常被駭客利用繞過上傳限制獲取 WebShell。
- 刪除不需的映射,減少解析開銷與安全風險。
3. 關閉存取記錄(Access Logging)
- 路徑:網站「屬性」→「網站」標籤 → 取消勾選「啟用記錄」。
- 記錄包含時間、IP、Referrer、Cookie、User-Agent 等,寫入頻繁佔用磁碟 I/O,測試顯示關閉可提升 5-8% 效能。
- 中小型站點通常無分析需求,建議關閉;需分析者可改用前端分析工具(GA、Matomo)或定期匯入離線處理。
4. 限制頻寬與連線數
- 路徑:網站「屬性」→「效能」標籤。
- 勾選「啟用頻寬限制」,設定最大網路使用量(企業站建議 1500 KB/s)。
- 「網站連線」設定最大連線數,防止併發過大導致伺服器掛掉。
5. 啟用 Web 園(Web Garden)實現負載自動伸縮
- 路徑:應用程式池「屬性」→「效能」→「Web 園」。
- 設定「最大工作進程數」(如 2-4),IIS 依負載自動增減進程(閒置 20 分鐘自動回收)。
- 可搭配「啟用 CPU 監視」、設定最大 CPU 使用率與超限動作(關閉/重啟/無動作)。
6. 配置應用程式池隔離站點
- 建立獨立應用程式池:右鍵「應用程式池」→「新增」→ 命名(如
AppPool_SiteA)。
- 指派:網站「屬性」→「主目錄」→「應用程式池」下拉選擇剛建立的池。
- 回收策略:應用程式池「屬性」→「回收」標籤,設定定時回收、記憶體上限回收、請求數回收,釋放資源防止洩漏。
總結
軟體調優能顯著提升 IIS 6.0 效能與安全,但高流量站點仍需硬體升級(CPU、記憶體、SSD、頻寬)與架構優化(靜態檔案 CDN、反向代理、快取層、資料庫讀寫分離)軟硬結合才是終極方案。