関連する設定:
ssl_protocols TLSv1.2;
SSL Labsでサーバーをテストすると、テストによりTLS 1.3が使用可能であることが報告され、デフォルトの暗号とその他の結果がTLSv1.3
は私の設定に含まれていました。
Ubuntu Server 18.04.1、OpenSSL 1.1.1 2018年9月11日、OpenSSL 1.1.0gで構築されたNginx 1.14.1
TLSv1.3を無効にするにはどうすればよいですか?
OpenSSL 1.1.0gで構築されたNginx 1.14.1
OpenSSL 1.1.0はTLS 1.3をサポートしていません
Ubuntu Server 18.04.1、OpenSSL 1.1.1 2018年9月11日
Ubuntu 18.04.1にはOpenSSL 1.1.0ではなくOpenSSL 1.1.0gが付属しています。
OSに付属するバージョンを置き換える方法でOpenSSL 1.1.1をシステムにインストールしたと思います。 nginxは共有ライブラリを使用するため、OpenSSL 1.1.0gに対してコンパイルされていても、インストールしたOpenSSL 1.1.1を使用します。
オプション ssl_protocols TLSv1.2;
nginxでTLS 1.2を有効にするだけでは実装されません。代わりに、すべての有用なプロトコルがデフォルトで有効になっており、TLS 1.2に制限すると、TLS 1.2以外のすべてが無効になります。ただし、認識できるプロトコルのみを無効にでき、nginxがTLS 1.3のサポートなしのOpenSSLバージョンに対してコンパイルされた場合、TLS 1.3が存在することは認識されず、TLS 1.3を無効にする方法がないため、有効なままになります。
コメントを見て:
どうやらOpenSSLバージョンはデフォルトのリポジトリにインストールされているようです。私は、sury.org PHP PPA。
修正するには、ngyxのsury.orgレポバージョンをインストールする必要もあります。執筆時点では、このバージョンのnginxはopenssl 1.1.1bとTLS 1.3で構築されています。これは、デフォルトのubuntu opensslパッケージを置き換えるondrej php7.3 libを使用する場合に必要です。
chromeでERR_SSL_VERSION_INTERFERENCE sslエラーが発生したのと同じことをしなければなりませんでした。
前:
Sudo nginx -V
built with OpenSSL 1.1.0g 2 Nov 2017 (running with OpenSSL 1.1.1b 26 Feb 2019)
以下を実行します。
Sudo add-apt-repository ppa:ondrej/nginx
Sudo apt update
Sudo apt remove nginx
Sudo apt install nginx
後:
Sudo nginx -V
built with OpenSSL 1.1.1 11 Sep 2018 (running with OpenSSL 1.1.1b 26 Feb 2019)
ここでの完全な手順:
https://www.linuxbabe.com/ubuntu/enable-tls-1-3-nginx-ubuntu-18-10-18-04-16-04-14-04