Bảo mật lớp truyền tải (TLS) 1.3 là phiên bản mới nhất của giao thức Bảo mật lớp truyền tải (TLS), được công bố là tiêu chuẩn IETF trong RFC 8446vào tháng 8 năm 2018.Giao thức TLS 1.3 cung cấp các cải tiến về quyền riêng tư và hiệu suất so với các phiên bản TLS trước đó và HTTP không an toàn.
Kể từ phiên bản 1.13.0, Nginx đã được thêm hỗ trợ cho TLS 1.3. Hiện tại, hầu hết các bản phân phối Linux không chứa các phiên bản bắt buộc của Nginx và OpenSSL trong kho phần mềm mặc định của nó, vì vậy bạn có thể sẽ cần phải tự biên dịch Nginx với OpenSSL 1.1.1+. Các bản phân phối Linux duy nhất có hỗ trợ gốc cho TLS 1.3 là Ubuntu 18.10, Fedora 29 và Debian 10 (chưa phát hành tính đến hôm nay). Nếu bạn cần hướng dẫn về cách biên dịch Nginx từ nguồn, bạn có thể làm theo hướng dẫn Howtoforge này, nếu bạn muốn cài đặt OpenSSL mới nhất, hãy xem hướng dẫn này. Trong hướng dẫn này,tôi sẽ giả sử bạn đã có cấu hình TLS đang hoạt động và bạn đã biên dịch Nginx theo OpenSSL 1.1.1+ bằng cách làm theo hướng dẫn được liên kết của tôi và bạn biết cách sử dụng Let's Encrypt hoặc bạn biết cách cấp chứng chỉ tự ký.
Và tải lại cấu hình Nginx của bạn:
Đó là tất cả những gì cần làm khi cấu hình Nginx. Chỉ cần một thay đổi đơn giản và TLS 1.3 sẽ hoạt động.
Sau đây là cấu hình máy chủ ảo tối thiểu cho TLS 1.3 có thể trông giống như thế này:
Để kiểm tra xem máy chủ của bạn có hỗ trợ TLS 1.3 hay không, bạn có thể sử dụng công cụ phát triển của trình duyệt hoặc công cụ kiểm tra máy chủ SSLLabs. Dưới đây là ảnh chụp màn hình từ trình duyệt Google Chrome cho thấy TLS 1.3 đang hoạt động.
Và đó là tất cả những gì cần làm để bật TLS 1.3 trên Nginxserver của bạn.
Kể từ phiên bản 1.13.0, Nginx đã được thêm hỗ trợ cho TLS 1.3. Hiện tại, hầu hết các bản phân phối Linux không chứa các phiên bản bắt buộc của Nginx và OpenSSL trong kho phần mềm mặc định của nó, vì vậy bạn có thể sẽ cần phải tự biên dịch Nginx với OpenSSL 1.1.1+. Các bản phân phối Linux duy nhất có hỗ trợ gốc cho TLS 1.3 là Ubuntu 18.10, Fedora 29 và Debian 10 (chưa phát hành tính đến hôm nay). Nếu bạn cần hướng dẫn về cách biên dịch Nginx từ nguồn, bạn có thể làm theo hướng dẫn Howtoforge này, nếu bạn muốn cài đặt OpenSSL mới nhất, hãy xem hướng dẫn này. Trong hướng dẫn này,tôi sẽ giả sử bạn đã có cấu hình TLS đang hoạt động và bạn đã biên dịch Nginx theo OpenSSL 1.1.1+ bằng cách làm theo hướng dẫn được liên kết của tôi và bạn biết cách sử dụng Let's Encrypt hoặc bạn biết cách cấp chứng chỉ tự ký.
Yêu cầu
Để bật TLS 1.3 trong Nginx, bạn sẽ cần đáp ứng các yêu cầu sau:- Phiên bản Nginx
1.13.0
trở lênđược xây dựng theo OpenSSL 1.1.1 trở lên. - Chứng chỉ TLS hợp lệ hoặc chứng chỉ tự ký. Bạn có thể nhận được chứng chỉ miễn phí từ Let's Encrypt.
Bật TLS 1.3 trong Nginx
Để bật TLS 1.3 trong Nginx, chỉ cầnthêm tham sốTLSv1.3
vào ssl_protocols
chỉ thị.
Mã:
ssl_protocols TLSv1.2 TLSv1.3;
Mã:
sudo systemctl reload nginx.service
Sau đây là cấu hình máy chủ ảo tối thiểu cho TLS 1.3 có thể trông giống như thế này:
Mã:
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;
}
Và đó là tất cả những gì cần làm để bật TLS 1.3 trên Nginxserver của bạn.