Cài đặt SSL trê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 file đính kèm trong email chúng tôi gửi cho ban sau khi chứng thư số được cấp, sẽ được file certificate.crt và ca-bundle

2. Tải 2 file này lên server, đưa vào trong thư mục /usr/local/ssl/certificate (đây là thư mục hôm trước bạn đã tạo ra để chứa CSR và private key) hoặc bất kì thư mục nào mà bạn muốn (nên đặt ngay cùng đường dẫn ở /etc/nginx)

3. Login vào SSH bằng tài khoản root

4. Lúc này trong thư mục lưu ssl ở bước 2 đã có 3 file: private.key, certificate.crt và ca-bundle.

5. Tạo file cert dưới định dạng .pem ( tạo ra bằng cách chép nội dung các file cert nhập thành 1 file theo thứ tự chính xác sau: private key, file crt, file ca-bundle )

cat private.key > cert.pem
cat certificate.crt >>
cert.pem
cat ca-bundle >> cert.pem

7. 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:

server {
    listen   443;
    ssl    on;
    ssl_certificate        /<đường dẫn luu file cert>/cert.pem;
    ssl_certificate_key    /<đường dẫn lưu file cert>/private.pem;
    server_name your.domain.com;
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;
    location / {
        root   /home/www/public_html/your.domain.com/public/;
        index  index.html;
    }
}

8. Vá lổ hổng SSLv3: tìm chỗ cấu hình ssl

grep -r ssl_protocol /etc/nginx
Tìm dòng config ssl_protocols và thay thế toàn bộ thành như sau:
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

9. Bật Forward Secrecy cho nginx: thêm dòng này phía dưới ssl_protocols hoặc sửa lại như sau nếu đã có:

ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!RC4:HIGH:!aNULL:!MD5:!kEDH;

10. Tối ưu thêm SSL cho nginx phía dưới các cấu hình ở trên:

ssl_session_cache shared:SSL:32m;
ssl_buffer_size 1400;
ssl_session_timeout 10m;

11. Kiểm tra config nginx:

nginx -t
Nếu không có error nào xuất hiện thì Khởi động lại nginx:
service nginx restart

12. 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: iptables -L)

Xin chúc mừng! Chứng chỉ SSL đã được cài đặt thành cộng cho trang web của bạn. Trang web đã có thể truy cập bằng https://

Sau khi cài đặt thành công, bạn có thể kiểm tra lại cert đã được install đúng hay chưa bằng công cụ sau: 
https://cryptoreport.websecurity.symantec.com/checker/views/certCheck.jsp

  • 0 Người dùng thấy hướng dẫn này hữu ích
Hướng dẫn này có hữu ích?

Những hướng dẫn liên quan

Cài đặt SSL trên IIS 8/8.5 (Window Server 2012)

Để cài đặt chứng thư số SSL cho IIS 8/8.5 trên Windows Server 2012, bạn thực hiện như sau :...

Cài đặt SSL trên DirectAdmin

Thao tác 3 bước để cài đặt SSL cho hosting sử dụng DirectAdmin: 1) Mở quyền sử dụng SSL cho...

Hướng dẫn mở Certificates Snap-in trên máy chủ Windows

Windows quản lý chứng thư số SSL tập trung bằng MMC Snap-in có tên là Certificates. Hãy theo...

Cài đặt SSL trên Postfix

  Download file CA Bundle theo CA mà chứng chỉ của bạn đã đăng kí với tên ca-bundle.crt cat...

Cài đặt SSL trên Microsoft Exchange 2013

Để cài đặt chứng thư số SSL cho Exchange 2013, bạn thực hiện như sau:  Bước 1: Copy file...