NodeJS – Lấy Chứng chỉ SSL từ Certbot

Trước khi lấy chứng chỉ SSL từ Certbot, chúng ta cần cấu hình domain cho Nginx.

Update cấu hình Nginx

Thêm domain vào file config của Nginx.

sudo nano /etc/nginx/sites-available/default

Tìm và thay dòng

server_name _;

Bằng (thay tên miền của bạn)

server_name example.com www.example.com;

Sau đó save và thoát.

Reload lại Nginx.

sudo systemctl reload nginx

Lấy Chứng chỉ SSL từ Certbot

Certbot cung cấp nhiều cách khác nhau để có được chứng chỉ SSL, thông qua các plugin. Plugin Nginx sẽ đảm nhiệm việc cấu hình lại Nginx. Thông qua lệnh:

sudo certbot --nginx -d example.com -d www.example.com

Ở đây mình sẽ chạy

sudo certbot --nginx -d dev.ecntt.com

Nếu đây là lần đầu tiên bạn chạy Certbot, bạn sẽ được yêu cầu nhập địa chỉ email và đồng ý với các điều khoản dịch vụ. Sau đó certbot sẽ liên lạc với máy chủ Let’s Encrypt để lấy chứng chỉ SSL.

Chọn A để tiếp tục

Nếu đây là lần đầu tiên bạn chạy Certbot, bạn sẽ được yêu cầu nhập địa chỉ email và đồng ý với các điều khoản dịch vụ. Sau đó certbot sẽ liên lạc với máy chủ Let’s Encrypt để lấy chứng chỉ SSL.

Nếu thành công, certbot sẽ hỏi bạn muốn định cấu hình cài đặt HTTPS của bạn như thế nào.

Bạn chọn 1 hay 2 : có muốn redirect http sang https hay không rồi enter.

Kết quả bạn có thể sử dụng https cho tên miền của bạn.

Verify Certbot Auto-Renew

Chứng chỉ Let’s Encrypt chỉ có hiệu lực trong 90 ngày. Vì vậy Certbot giúp bạn tự động gia hạn chứng chỉ. Bạn sẽ thấy file có file Certbot trong thư mục cron.d /etc/cron.d

Chạy lệnh sau để test thử quá trình này chạy tốt không.

sudo certbot renew --dry-run

Nếu không có lỗi vậy là quá trình cài đặt đã thành công. Certbot  sẽ gia hạn tự động chứng chỉ và reload lại Nginx. Nếu quá trình gia hạn tự động không thành công,  Let’s Encrypt sẽ gửi mail cảnh báo chứng chỉ sắp hết hạn đến bạn.

Cài đặt Node.js và tạo 1 project.

Bây giờ chúng ta đã có một server Nginx và một domain có mã hóa HTTPS/SSL. Tiếp đến sẽ cài đặt Node.js và định cấu hình ứng dụng của bạn.