2025年6月10日 星期二

[研究]Windows Server 2019 + IIS + ASP.NET 的 Web Server 如何啟用 HTTP/2

[研究]Windows Server 2019 + IIS + ASP.NET 的 Web Server 如何啟用 HTTP/2

2025-06-09

環境:Visual Studio 2022 + ASP.NET + WebForm + Web Application + C# + SQL Server 2019 + SQL Server Management Studio (SSMS) 19

********************************************************************************

Windows Server 2019 + IIS + ASP.NET 的 Web Server 如何啟用 HTTP/2

ChatGPT 說:

在 Windows Server 2019 + IIS + ASP.NET 環境中啟用 HTTP/2,可以透過以下步驟進行設定。Windows Server 2019 的 IIS(版本 10.0)預設已支援 HTTP/2,只要使用的是 HTTPS(TLS)連線即可啟用。

1. 確認系統與 IIS 條件

  • Windows Server 2016或更新版本
  • IIS 10.0 或以上 ✔️
  • 已安裝 HTTPS 憑證(TLS/SSL) ✔️
  • HTTP/2 在 IIS 中只適用於 HTTPS,不支援純 HTTP 連線。
  • ASP.NET 應用無需額外修改支援 HTTP/2,由 IIS 處理協定層。

2. 檢查 IIS 是否已啟用 HTTP/2

IIS 10 on Windows Server 2019 預設開啟 HTTP/2

(下圖) FireFox可判斷是否是 HTTP/2


(下圖) FireFox + Windows Serer 2019 IIS + ASP.NET WebForm 測試


(下圖) Chrome 目前版本好像無法判斷是否是 HTTP/2



(下圖) curl 發現是自簽憑證,無法判斷是否是 HTTP/2


┌──(kali㉿kali)-[~]
└─$ curl -I https://192.168.128.131/         
curl: (35) GnuTLS, handshake failed: Key usage violation in certificate has been detected.
                                                                             
┌──(kali㉿kali)-[~]
└─$ curl -I https://192.168.128.131/default.htm
curl: (35) GnuTLS, handshake failed: Key usage violation in certificate has been detected.
                                                                             
┌──(kali㉿kali)-[~]
└─$ curl -I -k https://192.168.128.131/        
curl: (35) GnuTLS, handshake failed: Key usage violation in certificate has been detected.
                                                                             
┌──(kali㉿kali)-[~]
└─$ 


********************************************************************************

補充:

手動確認或修改 IIS 是否啟動 HTTP/2:

A. 開啟登錄編輯器:

Win + R → 輸入 regedit

B. 瀏覽至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS\Parameters

C. 檢查或建立以下 DWORD 值:

EnableHttp2    值設為 1(啟用)

EnableHttp2Cleartext    值設為 0(禁用 HTTP/2 over HTTP)

如果這些鍵不存在,可以手動新增:

名稱 類型 數值

EnableHttp2 DWORD (32-bit) 1

EnableHttp2Cleartext DWORD (32-bit) 0

修改後,重新啟動 HTTP 服務或整台伺服器:

iisreset

3. 確認 HTTPS 綁定

請確認你已在 IIS 管理員中:

為網站設定了有效的 SSL 憑證。

在網站的綁定設定中使用 HTTPS + 對應的 Port(通常是 443)。


(完)

相關



沒有留言:

張貼留言