Hướng dẫn cài đặt chứng chỉ SSL lên Nginx

Để cài đặt chứng thư số SSL cho nginx, bạn thực hiện như sau:

1. Giải nén tập tin đính kèm trong email chúng tôi gửi cho bạn sau khi chứng thư số được cấp hoặc tải trên trang quản lý chứng chỉ SSL của CER.vn, sẽ nhận được tập tin tenmien.crt và tenmien.ca-bundle

2. Tải tập tin này lên máy chủ: lưu vào trong thư mục lưu private key của bạn (ví du: /usr/local/ssl/certificate)

3. Đăng nhập vào SSH bằng tài khoản root và di chuyển đến thư mục vừa tải cert lên.

4. Lúc này trong thư mục /usr/local/ssl/certificate sẽ có 3 tập tin: private.key, tenmien.crt, tenmien.ca-bundle

Chuyển đổi thành tập tin dùng cho Nginx, dùng lệnh:
Mã:
cat tenmien.crt tenmien.ca-bundle > tenmien-ca.crt
5. Mở file cấu hình của Nginx (thường là /etc/nginx/conf/default.conf hoặc /etc/nginx/conf/ssl.conf hoặc /etc/nginx/sites-enabled/domain.conf) và tìm đoạn cấu hình sau:

Mã:
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;

# certs sent to the client in SERVER HELLO are concatenated in ssl_certificate
ssl_certificate /usr/local/ssl/certificate/tenmien-ca.crt;
ssl_certificate_key /usr/local/ssl/certificate/private.key;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /usr/local/ssl/certificate/dhparam.pem;

# intermediate configuration. tweak to your needs.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ‘ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS’;
ssl_prefer_server_ciphers on;

# HSTS (ngx_http_headers_module is required) (15768000 seconds = 6 months)
add_header Strict-Transport-Security max-age=15768000;

# OCSP Stapling —
# fetch OCSP records from URL in ssl_certificate and cache them
ssl_stapling on;
ssl_stapling_verify on;

## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates;

resolver <IP DNS resolver>;

….
}
Một số giá trị cần thay đổi để phù hợp với trường hợp của bạn:
  • ssl_certificate: đường dẫn đến tệp tin chứng chỉ.
  • ssl_certificate_key: đường dẫn đến Private key, ở đây là tệp private.key mà bạn đã tạo chung với CSR khi đăng ký SSL.
  • ssl_dhparam: chỉ định một tệp tin với các thông số DH cho mật mã DHE. Sử dụng lệnh sau openssl dhparam -out /usr/local/ssl/certificate/dhparam.pem 2048
    /path/to/dhparam.pem là đường dẫn mà bạn muốn lưu tệp tin.
  • ssl_trusted_certificate: đường dẫn đến tệp tin CA Bundle. Đối với Comodo, bạn cần hợp nhất bởi Root CAIntermediate Certificates wget https://gist.githubusercontent.com/sergejmueller/4b53e4c810f61aca391a/raw/f175a094122b91fdda8523a90ca6dc057d70b9f1/comodo.pem
  • resolver: DNS. Ví dụ: resolver 8.8.4.4 8.8.8.8;

6. Khởi động lại nginx

Kiểm tra trước khi khởi động lại Nginx: nginx -t

Nếu thành công, khởi động lại Nginx: service nginx restart

7. Mở port 443 trên Firewall (Nếu bạn dùng software firewall như iptables chẳng hạn thì có thể tìm thấy file config tại: /etc/sysconfig/iptables)
Top