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 5.x/6.x

Để cài đặt chứng thư số SSL cho IIS 6 trên Windows 2003, bạn thực hiện như sau :  Bước 1:...

Cài đặt SSL trên IIS 7/7.5 (Windows Server 2008)

Để cài đặt chứng thư số SSL cho IIS 7/7.5 trên Windows 2008, bạn thực hiện như sau :  Bước 1:...

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 Apache Linux

Để cài đặt chứng thư số SSL lên Apache trên Linux, bạn thực hiện như sau: 1. Giải nén file đính...

Cài đặt SSL trên Apache Windows

Để cài đặt chứng thư số SSL cho Apache trên Windows, bạn thực hiện như sau: 1. Giải nén file...