トランスポート層セキュリティ(TLS)1.3は、トランスポート層セキュリティ(TLS)プロトコルの最新バージョンであり、2018年8月にRFC 8446でIETF標準として公開されました。TLS1.3プロトコルは、以前のバージョンのTLSおよび非-セキュアHTTP。
バージョン1.13.0以降、NginxはTLS1.3のサポートが追加されました。現在、ほとんどのLinuxディストリビューションでは、デフォルトのソフトウェアリポジトリに必要なバージョンのNginxとOpenSSLが含まれていないため、OpenSSL1.1.1以降に対してNginxを自分でコンパイルする必要があります。 TLS 1.3をネイティブでサポートしているLinuxディストリビューションは、Ubuntu 18.10、Fedora 29、Debian 10(現在はまだリリースされていません)のみです。ソースからNginxをコンパイルする方法のガイドが必要な場合は、このHowtoforgeチュートリアルに従うことができます。このチュートリアルでは、TLS構成がすでに機能しており、リンクされたチュートリアルに従ってOpenSSL 1.1.1以降に対してNginxをコンパイルし、Let's Encryptの使用方法を知っているか、またはを発行する方法を知っていることを前提としています。自己署名証明書。
NginxでTLS1.3を有効にするには、次の要件を満たす必要があります。
- Nginxバージョン
1.13.0
OpenSSL1.1.1以降に対して構築された以上。 - 有効なTLS証明書または自己署名証明書。 Let'sEncryptから無料で入手できます。
NginxでTLS1.3を有効にする
NginxでTLS1.3を有効にするには、TLSv1.3
を追加するだけです。 ssl_protocols
へのパラメータ ディレクティブ。
ssl_protocols TLSv1.2 TLSv1.3;
そして、Nginx構成をリロードします:
sudo systemctl reload nginx.service
Nginxの構成に関しては、これですべてです。 1つの簡単な変更とTLS1.3が機能するはずです。
TLS1.3の最小限の仮想サーバー構成は次のようになります。
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
root /var/www/example.com/public;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
サーバーがTLS1.3をサポートしているかどうかを確認するには、ブラウザ開発ツールまたはSSLLabsサーバーテストを使用できます。以下は、動作中のTLS1.3を示すGoogleChromeブラウザのスクリーンショットです。
NginxサーバーでTLS1.3を有効にする方法はこれですべてです。