Trần Hà Nguyễn

Cách cấu hình SSL với nginx và Let's Encrypt

Let's Encrypt là một dịch vụ cung cấp chứng chỉ bảo mật cho website rất được ưa chuộng bởi ngoài bản trả phí thì còn cung cấp free.

Trong bài hướng dẫn này mình sử dụng webserver là Nginx và Os là Ubuntu. Để thực hiện được thì trước hết bạn truy cập vào dashboard hosting, vào mục cấu hình DNS và thêm bản ghi A trỏ domain về public IP của host. Đồng thời bạn tạo config trong site_availables và link sang thư mục site_enables của Nginx.

Các bước cài đặt và cấu hình Nginx:

Cài đặt Certbot:


Bước đầu tiên để cài đặt Let's Encrypt là chúng ta tiến hành cài đặt phần mềm Certbot

Cấu hình repository:

sudo add-apt-repository ppa:certbot/certbot

Ấn ENTER để tiếp tục

Cài đặt Certbot cho Nginx bằng câu lệnh:

sudo apt install python-certbot-nginx


Cấu hình Nginx:


Certbot sẽ quét trong khối server của file cấu hình Nginx để tự động cấu hình SSL. Cụ thể nó sẽ tìm server_name khớp với domain yêu cầu chứng chỉ SSL.

Chúng ta sẽ tạo file config trong thư mục site_available với tên giống tên domain.

sudo nano /etc/nginx/sites-available/example.com

Thẻ server_name sẽ có nội dung như sau:

server_name example.com www.example.com;
...


Kiểm tra xem Nginx đã chính xác chưa:

sudo nginx -t


Nếu gặp lỗi thì chúng ta sửa lại theo thông báo lỗi và khởi động lại Nginx

sudo systemctl reload nginx


Cấu hình tường lửa chấp nhận HTTPS


Khởi động ufw


Kiểm tra trạng thái tường lừa:

sudo ufw status


FjB66u_1569570027.png


Để cài đặt tường lửa cho phép truy cập HTTPS ta dùng lệnh sau:


9HIKkE_1569570027.png


Kiểm tra lại trạng thái:


kl7JGa_1569570027.png


Cài đặt SSL thông qua Certbot


Ta sử dụng lệnh sau:


mjSkH1_1569570027.png


--nginx là cho biết cài đặt ssl cho nginx webserver, -d là khai báo domain cần verify


Nếu lần đầu tiên chạy Nginx sẽ có thông báo nhập email và đồng ý với chính sách. Sau đó Certbot sẽ thông báo cho Let's Encrypt server verify cho domain bạn gửi yêu cầu. Nếu thành công, Certbot sẽ yêu cầu bạn nhập setting HTTPS:


TAVMMN_1569570027.png


Nhập các cài đặt và nhấn ENTER. Sau khi các cài đặt thành công, Certbot sẽ thông báo cho bạn thông tin địa chỉ lưu trữ chứng chỉ của bạn.


40wqHq_1569570027.png


Thử reload lại trang của bạn và thay bằng https.


Làm mới lại chứng chỉ Let's Encrypt


Chứng chỉ Let's Encrypt chỉ có hiệu lực 90 ngày nên bạn cần phải làm mới nó. Để làm mới thì chúng ta làm như sau:


oftq8c_1569570027.png


Vậy là chúng ta đã sẵn sàng sử dụng HTTPS với Let's Encrypt rồi đó.

Tags

Có thể bạn quan tâm

Các cài đặt HTTPS cho subdomain sử dụng Certbot

Ở bài trước mình đã hướng dẫn các bạn cách cài đặt let's...