回答:
listen 443 ssl
:nginxにサーバー上のすべてのipv4アドレス、ポート443をリッスンさせます(0.0.0.0:443
)
ながら
listen [::]:443 ssl
:nginxにサーバー上のすべてのipv6アドレス、ポート443をリッスンさせます(:::443
)
[::]:443
パラメータを指定しない限り、デフォルトではnginxはipv4で応答しませんipv6only=off
。
listen [::]:443 ipv6only=off;
ドキュメントによると:http : //nginx.org/en/docs/http/ngx_http_core_module.html#listen
ssl:
sslパラメーター(0.7.14)を使用すると、このポートで受け入れられるすべての接続がSSLモードで機能するように指定できます。
http2:
http2パラメータ(1.9.5)は、HTTP / 2接続を受け入れるようにポートを構成します。
これは、HTTP / 2接続のみを受け入れることを意味するものではありません。
あたりとして、RFC7540
ネクストホップでのHTTP / 2のサポートに関する事前の知識なしに「http」URIを要求するクライアントは、HTTPアップグレードメカニズムを使用します。クライアントは、 "h2c"トークンを含むUpgradeヘッダーフィールドを含むHTTP / 1.1リクエストを作成することによってこれを行います。
HTTP / 2をサポートしないサーバーは、アップグレードヘッダーフィールドが存在しないかのように要求に応答できます。
HTTP/1.1 200 OK Content-Length: 243 Content-Type: text/html
HTTP / 2をサポートするサーバーは、101(スイッチングプロトコル)応答でアップグレードを受け入れます。101応答を終了する空の行の後、サーバーはHTTP / 2フレームの送信を開始できます。
要約する :
HTTP / 2をサポートしないクライアントは、サーバーにHTTP / 2通信のアップグレードを要求することは決してありません。それらの間の通信は完全にHTTP1 / 1になります。
HTTP / 2をサポートするクライアントは、サーバーに(HTTP1 / 1を使用して)HTTP / 2アップグレードを要求します。
たぶんここでもっと要約されます:http : //qnimate.com/http2-compatibility-with-old-browsers-and-servers/
ただし、nginxドキュメントには、HTTP / 2 over TLSについて次のように記載されています。
TLS経由のHTTP / 2接続を受け入れるには、「アプリケーションレイヤープロトコルネゴシエーション」(ALPN)TLS拡張サポートが必要です。これは、OpenSSLバージョン1.0.2以降でのみ使用できます。
古いクライアントがこの要件に準拠していることを確認してください。