什麼是 IIS?微軟的 Windows Web 伺服器及其替代方案

Internet 資訊服務 (IIS)是微軟適用於 Windows 系統的 Web 伺服器平台。它接收 HTTP 和 HTTPS 請求,並提供網站、Web 應用程式和 API 服務。 「Windows Web」有時會被非正式地用來指稱 IIS;它並非微軟獨立的伺服器產品。管理員可以使用圖形化的 IIS 管理器、PowerShell、命令列工具和設定檔來管理 IIS。

在 Windows Server 上,IIS 以Web 伺服器 (IIS)角色安裝。在支援的 Windows 用戶端版本中,它可以作為選用功能啟用,通常用於本機開發或測試。可用元件取決於 Windows 版本,因此開發人員 PC 上的設定不​​應被視為生產部署指南。

IIS 管理器介面示意圖,包含連接樹、已選取的預設網站、功能視圖和操作窗格。
圖示 IIS 管理員佈局顯示了管理員選擇網站和存取常用設定的位置。

IIS 提供什麼

IIS 可以提供靜態文件,例如 HTML、樣式表、腳本和圖像。它還可以將請求傳遞給動態生成內容的應用程式。 IIS 使用選用模組來執行身份驗證、日誌記錄、請求過濾、壓縮和 URL 重寫等任務,管理員可以根據應用程式的需求啟用相應的功能。

IIS 通常與 Microsoft Web 應用程式搭配使用。例如,ASP.NET Core 可以透過 ASP.NET Core 模組在 IIS 上運行;Microsoft 目前的.NET Hosting Bundle 文件解釋了該設定所需的執行時間和模組。其他技術可能透過額外的處理程序或模組實現,但應針對特定應用程式檢查相容性、維護和安全支援。

圖形控制台是 IIS 的主要便利功能之一。它將網站、綁定、應用程式集區、模組、安全性設定和日誌集中在一個位置進行管理。此環境還可以透過 PowerShell 自動化,或透過設定檔進行配置,這有助於團隊在不同伺服器之間重複設定。

IIS 如何處理 Web 請求

在現代 IIS 中,Windows HTTP 協定棧HTTP.sys監聽傳入的 HTTP 和 HTTPS 流量。 IIS 服務和 Windows 進程啟動服務 (WAS) 使用伺服器設定將請求路由到正確的網站和應用程式集區。然後,工作進程處理請求並透過 HTTP 協定堆疊回傳回應。 Microsoft 的IIS 架構指南描述了這些元件和請求流程。

應用程式集區將一個或多個 Web 應用程式分組到工作進程設定中。獨立的應用程式集區創建了進程邊界,可以防止一個應用程式中的問題直接影響另一個應用程式集區中的應用程式。但它們並不能將工作負載與伺服器共享的作業系統、CPU、記憶體或網路容量隔離,因此仍需要監控資源使用情況和權限。

概念性的 IIS 請求流程:從瀏覽器經由 HTTP.sys 和應用程式集區工作進程,最終以回應的形式傳回。
概念性請求流程:HTTP.sys 接收瀏覽器請求,IIS 將其路由到應用程式集區,然後工作進程回傳回應。

IIS 何時適用?

  • 如果您的應用程式已經依賴 Windows Server、ASP.NET、Windows 驗證或 IIS 特定配置,或您的團隊有能力管理 Windows 伺服器,請選擇 IIS 。
  • 如果您需要 Linux 優先部署、偏好基於檔案的配置,或想要具有不同作業系統模型的反向代理,請考慮使用其他伺服器。
  • 當無需完整安裝伺服器時,可使用 IIS Express進行輕量級的本機開發和測試。微軟將其描述為開發導向的版本,而非通用的生產環境託管替代方案。

IIS 是 Windows 的元件,而不是像其他網站或訪客那樣需要單獨購買的 Web 伺服器授權。但是,Windows Server 的授權和存取規則可能適用於 IIS 的部署。微軟指出,存取 Windows Server 軟體可能需要用戶端存取授權 (CAL);請查閱官方的 CAL 指南以及您特定託管安排的相關條款。

可考慮的 IIS 替代方案

沒有萬能的「最佳」Web伺服器。請比較應用程式所需的平台、團隊偏好的服務配置方式,以及伺服器是否必須直接託管應用程式或將流量路由到其他進程。

三個軟體面板分別比較了 IIS 管理器、Apache HTTP 伺服器設定檔和 NGINX 反向代理配置。
概念介面比較:IIS 使用 Windows 控制台,而 Apache 和 NGINX 通常透過文字檔案進行設定。
選項非常合適需要考慮的權衡
Apache HTTP 伺服器您需要的是一個模組化、開源的伺服器,具有豐富的配置選項和全面的平台文件。其眾多的模組和指令提供了靈活性,但也要求管理員了解並維護配置。請參閱Apache HTTP 伺服器文件。
NGINX你需要一台能夠充當反向代理或HTTP負載平衡器,位於應用程式服務前端的網路伺服器。它透過文字檔案進行配置,通常將動態請求路由到單獨的應用程式進程。請參閱NGINX 官方文件。
球童您需要簡潔的配置,以及為符合條件的公用主機名稱自動配置和續訂 HTTPS 憑證。自動 HTTPS 仍取決於正確的網域名稱、網路和部署設定;請參閱 Caddy 的官方自動 HTTPS 指南。

對於現有的 Windows 應用程序,如果伺服器得到支援且維護安全,那麼繼續使用 IIS 可能是最簡單的選擇。對於新項目,則應根據應用程式的平台要求以及團隊能夠可靠操作的作業系統工具來決​​定。在將生產站點從一台伺服器遷移到另一台伺服器之前,請務必測試驗證、URL 規則、憑證、日誌記錄和部署行為。

結論

IIS 是微軟面向 Windows 平台的可設定 Web 伺服器,其管理主控台和應用程式集區模型適用於許多 Windows 託管的網站和服務。 Apache HTTP Server、NGINX 和 Caddy 也是不錯的選擇,尤其當它們的平台或運作模式更適合專案時。選擇時應考慮應用程式相容性、管理需求以及整個環境的授權和支援要求。

留下評論

10 款最佳 Ping 掃描工具,協助您尋找網路上的設備

10 款最佳 Ping 掃描工具,協助您尋找網路上的設備

比較 10 款 ping 掃描工具,它們可用於快速發現區域網路、跨平台掃描和 IP 位址管理。了解掃描可以告訴您什麼,以及不能告訴您什麼。

用於追蹤效能的 6 款最佳網路管理工具

用於追蹤效能的 6 款最佳網路管理工具

比較六款網路管理工具的效能監控功能,包括 SNMP 覆蓋範圍、映射、警報、部署模型和成本權衡。

適用於 Windows、iOS 和 Android 的最佳 Wi-Fi 分析器

適用於 Windows、iOS 和 Android 的最佳 Wi-Fi 分析器

比較適用於 Windows、iPhone 和 Android 的 Wi-Fi 分析器,包括頻道擁塞、訊號覆蓋範圍、熱圖和網路故障排除工具。

Ping 監控:7 款免費開源的網路可用性工具

Ping 監控:7 款免費開源的網路可用性工具

比較七款免費開源的 ping 監視器,從完整的網路套件到專注於延遲探測的工具,選擇最適合可用性、丟包率和歷史記錄的工具。

網路中的服務品質 (QoS):服務品質的角色和工作原理

網路中的服務品質 (QoS):服務品質的角色和工作原理

了解 QoS 在網路中的意義,DSCP 標記和流量佇列如何對語音、視訊和業務應用程式進行優先排序,以及 QoS 無法解決的問題。

最佳SFTP伺服器軟體,實現安全檔案傳輸

最佳SFTP伺服器軟體,實現安全檔案傳輸

比較適用於 Windows 和 Linux 的可靠 SFTP 伺服器軟體,包括 OpenSSH、Bitvise、SolarWinds 和 SFTPGo。尋找最適合您的安全性和文件傳輸需求的軟體。

適用於網路團隊的 7 款最佳 IP 位址管理工具

適用於網路團隊的 7 款最佳 IP 位址管理工具

比較七款 IP 位址管理工具,包括子網路發現、DNS 和 DHCP 協調、網路清單和開源 IPAM。

網路監控最佳實務:監控哪些內容以及使用哪些工具

網路監控最佳實務:監控哪些內容以及使用哪些工具

建置實用的網路監控,提供清晰的設備覆蓋範圍、有用的效能指標、可操作的警報,並對 SolarWinds NPM、PRTG 和 OpManager 進行比較。

十大最佳網路掃描工具,幫助您發現裝置和 IP 位址

十大最佳網路掃描工具,幫助您發現裝置和 IP 位址

比較網路掃描工具,以實現快速設備發現、跨平台 IP 掃描和企業級 IPAM,並指導如何將每個選項與您的網路相符。

如何使用 Nmap 進行路由追蹤並讀取網路路徑

如何使用 Nmap 進行路由追蹤並讀取網路路徑

使用 Nmap 的 --traceroute 選項將躍點對應到授權主機,了解躍點和 RTT 輸出,並在不進行過度掃描的情況下排查缺失的回應。