Cài đặt chứng chỉ trên máy chủ Nginx hoặc Tengine

Trong bài viết này, tôi sẽ hướng dẫn cách cài đặt chứng chỉ SSL trên máy chủ Nginx hoặc Tengine. Dưới đây là các bước chi tiết đã được kiểm tra vào ngày 20220822. Lưu ý: Trong quá trình cấu hình, nếu bạn không thể truy cập dù đã hoàn tất mọi bước, hãy kiểm tra xem nhóm bảo mật (security group) có được cấu hình đúng hay không. Trường hợp máy chủ của bạn không thuộc nhóm bảo mật nào, cổng 443 có thể bị chặn. Đảm bảo rằng máy chủ nằm trong một nhóm bảo mật và cổng 443 được mở để cho phép truy cập HTTPS. Cài đặt chứng chỉ trên máy chủ Nginx hoặc Tengine ----------------------------------------------
Bước chuẩn bị:
  • Chứng chỉ SSL đã được cấp thông qua dịch vụ quản lý chứng chỉ.
  • Có sẵn công cụ đăng nhập từ xa (ví dụ như PuTTY hoặc Xshell) để kết nối với máy chủ web của bạn.
Lưu ý: Bài viết sử dụng hệ điều hành CentOS 8 và phiên bản Nginx 1.14.1 làm ví dụ. Các lệnh có thể khác nhau tùy theo phiên bản hệ thống mà bạn đang sử dụng.

Bước 1: Tải xuống chứng chỉ về máy cục bộ

  1. Đăng nhập vào bảng điều khiển dịch vụ quản lý chứng chỉ.
  2. Chọn mục "SSL Certificate" ở thanh điều hướng bên trái.
  3. Nhấp vào nút "Tải xuống" tại dòng thao tác của chứng chỉ mong muốn.
  4. Trong bảng tải xuống chứng chỉ, chọn Nginx server và nhấn "Tải xuống".
  5. Mở thư mục tải xuống mặc định của trình duyệt, giải nén tệp tin vừa tải. Sau khi giải nén, bạn sẽ nhận được các tệp sau:
    • Tệp chứng chỉ dạng PEM (được mã hóa bằng Base64).
    • Tệp khóa riêng tư dạng KEY.

Bước 2: Cài đặt chứng chỉ trên máy chủ Nginx

Cài đặt trên máy chủ Nginx độc lập:
  1. Đăng nhập vào máy chủ Nginx.
  2. Thực hiện lệnh sau để tạo thư mục chứa chứng chỉ trong thư mục cài đặt Nginx (thư mục mặc định là /usr/local/nginx/conf):

cd /usr/local/nginx/conf
mkdir cert
  1. Sử dụng công cụ truyền file từ xa để tải lên tệp chứng chỉ và tệp khóa riêng tư vào thư mục cert trên máy chủ Nginx.
  2. Sửa đổi tập tin cấu hình nginx.conf để thêm cấu hình liên quan đến chứng chỉ:

vim /usr/local/nginx/conf/nginx.conf
Sau đó, thêm đoạn mã sau vào phần http{}:

server {
    listen 443 ssl;
    server_name yourdomain.com;
    root html;
    index index.html index.htm;

    ssl_certificate cert/your-cert-file.pem;
    ssl_certificate_key cert/your-cert-key.key;

    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;

    location / {
        root html;
        index index.html index.htm;
    }
}
  1. (Tùy chọn) Thêm quy tắc chuyển hướng tự động từ HTTP sang HTTPS:

server {
    listen 80;
    server_name yourdomain.com;
    rewrite ^(.*)$ https://$host$1 permanent;
}
  1. Lưu lại thay đổi bằng cách nhấn ESC, nhập :wq! và Enter.
  2. Khởi động lại dịch vụ Nginx:

cd /usr/local/nginx/sbin
./nginx -s reload

Bước 3: Kiểm tra việc cài đặt

Sau khi hoàn thành, truy cập vào địa chỉ sau để kiểm tra:

https://yourdomain.com
Nếu biểu tượng khóa xuất hiện trong thanh địa chỉ, chứng chỉ đã được cài đặt thành công.
Xử lý lỗi phổ biến:
Hình thức lỗi Nguyên nhân có thể Cách xử lý
Không thể truy cập qua HTTPS Cổng 443 chưa được mở hoặc bị chặn bởi công cụ khác. Kiểm tra và mở cổng 443 trong cài đặt bảo mật của máy chủ.
Kết nối không an toàn Website vẫn sử dụng giao thức HTTP. Chuyển tất cả các yêu cầu HTTP sang HTTPS trong mã nguồn website.

Thẻ: nginx tengine ssl

Đăng vào ngày 20 tháng 6 lúc 23:45