Apache HTTP Server 版本 2.4
描述 | 適用於 mod_proxy 的 HTTP/2 支援模組 |
---|---|
狀態 | 延伸模組 |
模組識別碼 | proxy_http2_module |
原始檔 | mod_proxy_http2.c |
相容性 | 適用於 httpd 2.4.19 及更新版本 |
mod_proxy_http2
僅支援 HTTP/2,不提供任何降級至 HTTP/1.1 的功能。這表示後端必須支援 HTTP/2,因為 HTTP/1.1 將無法使用。
這個模組需要 mod_proxy
服務,因此,若要具備處理 HTTP/2 代理要求的能力,則 mod_proxy
及 mod_proxy_http2
都必須載入伺服器上。
mod_proxy_http2
可處理使用 HTTP/1.1 或 HTTP/2 的前置輸入要求。兩種情況下,傳遞至相同後端的請求都會在可能的情況下透過單一 TCP 連線傳送(亦即在連線可以重複使用時傳送)。
注意事項:不會嘗試將多個 HTTP/1.1 前置輸入要求(已設定為傳遞至相同後端)整併至屬於相同 HTTP/2 要求的 HTTP/2 串流中。每一項 HTTP/1.1 前置輸入要求都將使用獨立的 HTTP/2 要求傳遞至後端(在可能的情況下會嘗試重新使用相同的 TCP 連線)。
這個模組仰賴 libnghttp2 提供 http/2 核心引擎。
這個模組是實驗性質的。相較於其他標準模組,其行為、指令及預設設定在不同版本間更可能有所變動。我們建議使用者參閱「CHANGES」檔案以了解潛在更新。
在 保護伺服器 安全之前,請勿啟用代理服務。開放的代理伺服器對您的網路和網際網路整體來說都很危險。
以下範例說明如何將 HTTP/2 設定為反向代理之後端連線的設定方式。
ProxyPass "/app" "h2://app.example.com" ProxyPassReverse "/app" "https://app.example.com"
ProxyPass "/app" "h2c://app.example.com" ProxyPassReverse "/app" "http://app.example.com"
使用 ProxyPassReverse
設定反向代理的 h2
(或 h2c
) 協定的以上方案是預期使用者代理會使用いつもの https
(或 http
)。
mod_proxy_http
會使用 LogFormat
或 ErrorLogFormat
中的 %{VARNAME}n
格式,建立下列要求備註以進行紀錄。