Cách cài đặt chứng chỉ SSL trên Nginx cho Ubuntu 20.04

 

Để sử dụng giao thức HTTPS trên trang web, bạn phải có chứng chỉ TLS/SSL và định cấu hình Nginx. Bạn có thể nhận được chứng chỉ từ cơ quan cấp chứng chỉ đáng tin cậy để kiếm tiền trong một số lượng lớn dịch vụ. Có thể sử dụng phiên bản miễn phí nhờ dịch vụ Let’s Encrypt và được mô tả ở đây trong bước 3. Bạn cũng cần thực hiện cấu hình Nginx cơ bản . Nếu bạn sử dụng chứng chỉ tự ký, trình duyệt sẽ hiển thị lỗi khi kiểm tra bảo mật.

1. Cấu hình SSL cơ bản

Nếu bạn đã mua chứng chỉ SSL, bạn phải tạo một chuỗi chứng chỉ hoàn chỉnh từ khóa công khai đã nhận và chuỗi trung tâm chứng nhận. Để thực hiện việc này, hãy đặt nội dung của tệp chuỗi ở cuối tệp khóa chung. Các tệp có thể có phần mở rộng .pem hoặc .crt.

cat cert.pem chain.pem > fullchain.pem

Bây giờ sao chép tập tin vào máy chủ của bạn. Một lựa chọn tốt là đặt khóa riêng (.key hoặc .pem) vào thư mục /etc/ssl/private/ và fullchain.pem vào /etc/ssl/certs/ .

Bây giờ hãy mở tệp cấu hình của máy chủ ảo của bạn (/etc/nginx/sites-available/domain-name.com) và thêm các dòng sau:

server {
listen 443 ssl;
server_name domain-name.com; # Your website’s domain name
ssl_certificate /etc/ssl/certs/fullchain.pem; # Path to the full chain of your SSL certificate
ssl_certificate_key /etc/ssl/private/privkey.pem; # Path to the private key of your SSL certificate
}

Đừng quên thiết lập các tham số gốc và chỉ mục trong phần này, giống như trong phần HTTP.
Khởi động lại Nginx.

systemctl restart nginx

2. Vô hiệu hóa các giao thức lỗi thời và bật ưu tiên cho mật mã máy chủ

Chỉ định việc sử dụng các phiên bản TLS 1.2 và 1.3 và mức độ ưu tiên cho mật mã máy chủ. Mở tệp /etc/nginx/nginx.conf và sửa hoặc thêm các dòng sau trong phần http.

http {

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;

}

Khởi động lại Nginx.

systemctl restart nginx

3. Chuyển hướng từ HTTP sang HTTPS

Để định cấu hình trang web chỉ hoạt động qua HTTPS, bạn cần thêm chuyển hướng bằng HTTP. Mở tệp cấu hình của máy chủ ảo của bạn (/etc/nginx/sites-available/domain-name.com), xóa phần HTTP:

server {
listen 80;

}

Bây giờ thêm một cái mới với các tham số sau:

server {
listen 80;
server_name domain-name.com; # Your website's domain name
return 301 https://$host$request_uri; # Redirect
}

Bây giờ hãy khởi động lại Nginx.

systemctl restart nginx

OK vậy là đã xong- chúc các bạn thành công!

>>> Cách cài đặt chứng chỉ SSL trên Nginx cho Ubuntu 20.04

Leave a Comment