モジュール ngx_http_v3_module
既知の問題 設定例 ディレクティブ http3 http3_hq http3_max_concurrent_streams http3_stream_buffer_size quic_active_connection_id_limit quic_bpf quic_gso quic_host_key quic_retry 埋め込み変数 |
ngx_http_v3_module
モジュール (1.25.0) は、HTTP/3 の実験的なサポートを提供します。
このモジュールはデフォルトではビルドされません。--with-http_v3_module
設定パラメータを使用して有効にする必要があります。
このモジュールのビルドと実行には、BoringSSL、LibreSSL、またはQuicTLSなどのQUICサポートを提供するSSLライブラリが推奨されます。そうでない場合、OpenSSLライブラリを使用すると、早期データをサポートしないOpenSSL互換レイヤーが使用されます。
既知の問題
このモジュールは実験的なものであり、自己責任でご使用ください。
設定例
http { log_format quic '$remote_addr - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" "$http3"'; access_log logs/access.log quic; server { # for better compatibility it's recommended # to use the same port for http/3 and https listen 8443 quic reuseport; listen 8443 ssl; ssl_certificate certs/example.com.crt; ssl_certificate_key certs/example.com.key; location / { # used to advertise the availability of HTTP/3 add_header Alt-Svc 'h3=":8443"; ma=86400'; } } }
TLS経由でHTTP/3接続を受け入れるには、TLSv1.3プロトコルサポートが必要です。これはOpenSSLバージョン1.1.1以降で使用可能です。
ディレクティブ
構文 |
http3 |
---|---|
デフォルト |
http3 on; |
コンテキスト |
http 、server |
HTTP/3プロトコルのネゴシエーションを有効にします。
構文 |
http3_hq |
---|---|
デフォルト |
http3_hq off; |
コンテキスト |
http 、server |
QUIC相互運用性テストで使用されるHTTP/0.9プロトコルのネゴシエーションを有効にします。
構文 |
http3_max_concurrent_streams |
---|---|
デフォルト |
http3_max_concurrent_streams 128; |
コンテキスト |
http 、server |
接続内の同時HTTP/3リクエストストリームの最大数を設定します。
構文 |
http3_stream_buffer_size |
---|---|
デフォルト |
http3_stream_buffer_size 64k; |
コンテキスト |
http 、server |
QUICストリームの読み書きに使用されるバッファのサイズを設定します。
構文 |
quic_active_connection_id_limit |
---|---|
デフォルト |
quic_active_connection_id_limit 2; |
コンテキスト |
http 、server |
QUICのactive_connection_id_limit
トランスポートパラメータ値を設定します。これは、サーバーに保存できるクライアント接続IDの最大数です。
構文 |
quic_bpf |
---|---|
デフォルト |
quic_bpf off; |
コンテキスト |
メイン |
eBPF を使用したQUICパケットのルーティングを有効にします。有効にすると、QUIC接続の移行をサポートできます。
このディレクティブは、Linux 5.7以降でのみサポートされています。
構文 |
quic_gso |
---|---|
デフォルト |
quic_gso off; |
コンテキスト |
http 、server |
セグメンテーションオフロードを使用して最適化されたバッチモードでの送信を有効にします。
最適化された送信は、UDP_SEGMENT
を備えたLinuxでのみサポートされています。
構文 |
quic_host_key |
---|---|
デフォルト | — |
コンテキスト |
http 、server |
ステートレスリセットとアドレス検証トークンの暗号化に使用される秘密鍵を含むファイル
を設定します。デフォルトでは、リロードごとにランダムなキーが生成されます。古いキーで生成されたトークンは受け入れられません。
構文 |
quic_retry |
---|---|
デフォルト |
quic_retry off; |
コンテキスト |
http 、server |
QUICアドレス検証機能を有効にします。これには、Retry
パケットまたはNEW_TOKEN
フレームに新しいトークンを送信し、Initial
パケットで受信したトークンを検証することが含まれます。
埋め込み変数
ngx_http_v3_module
モジュールは、次の埋め込み変数をサポートしています。
$http3
- ネゴシエートされたプロトコル識別子:HTTP/3接続の場合は「
h3
」、hq接続の場合は「hq
」、それ以外の場合は空文字列。