Chuyển tới nội dung chính

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.

Lưu ý

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ỉ

  1. 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.
  2. Thư mục Nginx sẽ chứa hai tệp,
  • domain_com_integrated.crt tệp chứng chỉ
  • domain_com.key tệp khóa riêng

Cài đặt chứng chỉ SSL

  1. Sao chép tệp chứng chỉ domain_com_integrated.crt và tệp khóa riêng domain_com.key đã lấy được từ thư mục cục bộ vào thư mục /etc/nginx/ssl của máy chủ Nginx.
  • Nếu thư mục /etc/nginx/ssl không tồn tại, có thể tạo bằng lệnh mkdir -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ế.
  1. Chỉnh sửa tệp nginx.conf trong thư mục gốc của Nginx. Nội dung sửa đổi như sau:
nginx.conf
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;
}
}

Lưu ý

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 443ssl 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ỉ.

Hiệu quả chứng chỉ SSL

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:

  1. Sử dụng chức năng chuyển hướng của Nginx, thêm return 301 https://$host$request_uri; vào server của HTTP, là có thể chuyển hướng yêu cầu HTTP thành HTTPS. Sửa đổi nội dung như sau:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. 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ừ HTTP sang HTTPS.