背景:XP 專業版 IIS 並發連線數硬性限制 10
Windows XP Professional 內建 IIS 5.1,微軟為區分伺服器版本,人為限制同時連線數上限為 10 (含靜態檔案、ASP、ASP.NET 請求)。超過 10 個用戶同時存取會出現「服務不可用」/HTTP 403.9 / 連線重設。Windows 2000/2003 Server 版無此限制。
解決工具:MetaEdit 2.2 (Microsoft 官方 IIS 管理工具)
- 原為 IIS 4.0/5.0/5.1 管理 Metabase (配置資料庫) 的圖形工具。
- 支援 Windows NT 4.0 / 2000 / XP / Server 2003。
- 下載點 (官方已下架,需從可信封存站獲取):**MetaEdit 2.2** (`MtaEdt22.exe`)。
操作步驟 (需管理員權限)
- 下載並安裝 `MtaEdt22.exe`,依嚮導完成 (預設安裝路徑 `C:\Program Files\MetaEdit`)。
- 開啟「開始」→「程式集」→「Administrative Tools」→「MetaEdit 2.2」。
- 左側樹狀結構展開:**LM → W3SVC** (World Wide Web Publishing Service)。
- 點選 **W3SVC** 節點,右側屬性列表找到 **`MaxConnections`**。
- 雙擊 `MaxConnections` → 「Data」欄位預設值為 **`10`**。
- 修改為所需上限值,例如 **`1000`** 或 **`2000000000`** (Win2000 上限,理論最大)。
- 點選「OK」儲存 → 關閉 MetaEdit。
- 重新啟動 IIS 服務 (或重開機) 生效:
`iisreset /restart` (命令提示字元) 或「服務」中重啟「World Wide Web Publishing Service」。
驗證是否生效
- 用瀏覽器/壓測工具 (ab、JMeter、LoadRunner) 同時發送 >10 個請求,觀察是否全數成功回應 200 OK。
- 查看 IIS 日誌 (`C:\WINDOWS\system32\LogFiles\W3SVC1\ex*.log`) 確認連線數突破 10。
⚠️ 重要風險與限制提醒
- ⚠️ 違反 Microsoft EULA:XP Pro 授權條款明確限制 10 連線,修改屬於違反授權,生產環境法律風險自負。
- ⚠️ 系統資源瓶頸:XP 非伺服器核心,非分頁池、核心資源、TCP/IP 連線表、檔案控制代碼均有上限,強行突破 10 連線易導致系統不穩、藍屏、記憶體洩漏。
- ⚠️ 無安全性更新:XP 2014 年停止支援,暴露於公網極危險。
- ⚠️ 不支援現代 Web 技術:無 TLS 1.2/1.3、HTTP/2、現代加密套件,瀏覽器會阻擋連線。
正規替代方案 (強烈建議)
| 方案 | 優點 | 適用場景 |
| 升級 Windows Server 2016/2019/2022 | 合法、無連線限制、長期支援、完整 IIS 10、安全更新 | 企業生產環境、對外服務 |
| 使用 Linux + Nginx/Apache (Ubuntu Server, Debian, CentOS Stream, Rocky Linux) | 免費、高效能、高並發、社群支援、容器化友善 | Web 伺服器、反向代理、微服務 |
| 遷移至雲端 (Azure App Service, AWS Elastic Beanstalk, GCP Cloud Run, Cloudflare Pages) | 零維運、自動擴縮、全球 CDN、HTTPS 自動 | 新專案、啟動專案、靜態/動態網站 |
| 本地開發測試用 IIS Express / Docker / WSL2 | 不佔用系統服務、版本隔離、易刪除 | 開發機、CI/CD Agent |
歷史補充:MetaEdit 其它實用操作
- 修改 `AspMaxRequestEntityAllowed` (預設 200KB) → 允許更大檔案上傳。
- 修改 `AspScriptTimeout` / `AspQueueTimeout` → 調整腳本逾時。
- 啟用/停用 `CreateProcessAsUser`、`CreateCGIWithNewConsole` 等安全相關屬性。
- 匯出/匯入 Metabase 備份 (`File` → `Export` / `Import`)。
技術上可行不代表生產可用。**請勿在對外服務、處理敏感資料、需合規的環境使用修改後的 XP IIS**。投資正版 Server 授權或遷移 Linux/雲端,才是長久之計。