Cài đặt chứng chỉ SSL trên máy chủ Nginx
Bạn có thể cài đặt chứng chỉ SSL lên máy chủ Nginx để máy chủ Nginx hỗ trợ truy cập an toàn HTTPS. Bài viết này hướng dẫn cách cài đặt chứng chỉ SSL trên máy chủ Nginx.
Phiên bản Nginx trong tài liệu này lấy nginx/1.18.0 làm ví dụ.
Trước khi cài đặt, hãy xác nhận cổng 443 chưa bị chiếm dụng. Nếu cổng 443 đã được sử dụng, vui lòng liên kết cổng khác khi cài đặt chứng chỉ.
Lấy chứng chỉ
- Sau khi chúng tôi ký phát hành chứng chỉ cho bạn, chúng tôi sẽ cấp cho bạn tệp chứng chỉ (.zip) ở định dạng nén. Trong gói nén có bốn thư mục tương ứng với bốn định dạng chứng chỉ: Tomcat, Nginx, IIS, Apache; máy chủ Nginx cần sử dụng chứng chỉ trong thư mục Nginx.
- Thư mục Nginx sẽ chứa hai tệp,
domain_com_integrated.crttệp chứng chỉdomain_com.keytệp khóa riêng
Cài đặt chứng chỉ SSL
- Sao chép tệp chứng chỉ
domain_com_integrated.crtvà tệp khóa riêngdomain_com.keyđã lấy được từ thư mục cục bộ vào thư mục/etc/nginx/sslcủa máy chủ Nginx.
- Nếu thư mục
/etc/nginx/sslkhông tồn tại, có thể tạo bằng lệnhmkdir -p /etc/nginx/ssl - Vị trí thư mục có thể khác nhau tùy theo cách cài đặt, vui lòng căn cứ vào tình hình thực tế.
- Chỉnh sửa tệp
nginx.conftrong thư mục gốc của Nginx. Nội dung sửa đổi như sau:
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;
#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;
#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
Do khác biệt về phiên bản, tệp cấu hình có thể có các cách viết khác nhau. Ví dụ: đối với Nginx phiên bản nginx/1.15.0 trở xuống, vui lòng sử dụng listen 443 và ssl on thay cho listen 443 ssl.
Sau khi sửa đổi, hãy lưu tệp cấu hình và thực thi lệnh sau:
nginx -t #验证配置文件是否正确
nginx -s reload #重载 Nginx
Kiểm tra chứng chỉ SSL
Nhập tên miền đã liên kết với chứng chỉ SSL vào thanh địa chỉ trình duyệt để kiểm tra xem chứng chỉ SSL của bạn đã được cài đặt thành công hay chưa. Nếu thành công, thanh địa chỉ trình duyệt sẽ hiển thị biểu tượng ổ khóa an toàn, nhấp vào đó có thể xem thông tin chứng chỉ.

Cấu hình bảo mật tự động chuyển hướng HTTP sang HTTPS (tùy chọn)
Nếu bạn cần tự động chuyển hướng yêu cầu HTTP đến HTTPS, bạn có thể thiết lập theo các thao tác sau:
- Sử dụng chức năng chuyển hướng của Nginx, thêm
return 301 https://$host$request_uri;vàoservercủa HTTP, là có thể chuyển hướng yêu cầuHTTPthànhHTTPS. Sửa đổi nội dung như sau:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
- Khởi động lại máy chủ Nginx là có thể truy cập bằng tên miền, thực hiện tự động chuyển hướng từ
HTTPsangHTTPS.