Let’s Encrypt là nhà cung cấp chứng chỉ SSL miễn phí, tự động. Hoạt động vì lợi ích của cộng đồng. Nó được quản lý bởi Internet Security Research Group (ISRG).
Let’s Encrypt cung cấp cho những người quản trị website một chứng nhận số cần thiết để kích hoạt HTTPS (SSL hoặc TLS) cho website của mình, hoàn toàn miễn phí và theo một cách thân thiện nhất. Tất cả dựa trên mục tiêu tạo ra một môi trường Web an toàn, riêng tư và tôn trọng người dùng.
Hôm nay mình sẽ hướng dẫn cho các bạn cách để cài đặt chứng chỉ SSL miễn phí của Let’s Encrypt lên VPS với nginx trên Ubuntu.
1. Cài đặt Certbot
Để có được chứng chỉ Let’s Encrypt SSL, bạn phải cài đặt ứng dụng Certbot trên máy chủ VPS của mình.
Mình khuyên các bạn nên sử dụng ứng dụng Bitvise SSH Client để dễ dàng thao tác.
Chạy lệnh dưới đây để cài đặt Certbot.
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get -y install python-certbot-nginx
Sau khi cài đặt xong, bản hãy chạy thử lệnh sau để xem Cerbot đã được cài đặt chưa nhé (sau khi chạy lệnh này, màn hình sẽ hiển thị phiên bản Cerbot bạn đã cài đặt).
cerbot --version
2. Cấu hình Nginx
Đầu tiên các bạn hãy truy cập vào đường dẫn sau “/etc/nginx/” trong thư mục “/nginx“, bạn hãy tạo 1 thư mục mới có tên là “/sites-available“. Tiếp tục vào thư mục mới mà các bạn đã tạo, tạo tiếp cho mình 1 file mới và đặt tên là “default“.
Các bạn sử dụng phần mềm Notepad hoặc Notepad++ để chỉnh sửa file “default” vừa mới tạo, thêm vào nội dung như bên dưới sau đó nhớ lưu lại.
server_name example.com www.example.com;
Chú ý: example.com và www.example.com, các bạn hãy thay vào bằng tên miền của các bạn nhé.
Tiến hành xác minh cú pháp chỉnh sửa của bạn bằng lệnh dưới.
nginx -t
Nếu cú pháp đúng, hãy khởi động lại Nginx để sử dụng cấu hình mới.
Khời động lại bằng lệnh sau:
systemctl restart nginx
3. Nhận chứng chỉ SSL
Lệnh sau sẽ lấy chứng chỉ cho bạn.
certbot --nginx -d example.com -d www.example.com
Chú ý: example.com và www.example.com, các bạn hãy thay vào bằng tên miền của các bạn nhé.
Sau khi chạy lệnh trên, màn hình sẽ yêu cầu bạn nhập địa chỉ email, cũng như đồng ý một số điều khoản và thông báo (bạn hãy nhập địa chỉ email của mình rồi nhấn ENTER, nhấn y ở bước xác nhận điều khoản rồi nhấn ENTER, nhấn a ở bước có cho phép gửi thông báo tới email của bạn rồi nhấn ENTER), tiếp tục sẽ có 1 màn hình hỏi bạn chọn tên miền 1 hay 2. Nếu bạn chọn lấy chứng chỉ cho cả 2 tên miền thì hãy nhấn 1,2 rồi ENTER nhé
Chú ý: Việc lấy chứng chỉ cho tên miền thường hay gặp lỗi kết nối, do bạn trỏ VPS về máy chủ DNS của tên miền chưa thực sự đúng cách. Bạn cần phải trỏ địa chỉ IP của VPS về máy chủ DNS của tên miền bằng cách thêm 2 bản ghi A như sau:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Cuối cùng nếu nếu màn hình hiển thị ra như trên, thì bạn hãy chọn mục số 2 để hoàn tất cấu hình thiết lập chuyển toàn bộ sang HTTPS cho website của bạn nhé.
4. Gia hạn chứng chỉ
Chứng chỉ Let’s Encrypt có thời hạn 3 tháng, vậy nên nếu đến thời điển hết hạn thì bạn chỉ việc chạy câu lệnh bên dưới để Let’s Encrypt gia hạn thời gian mới cho bạn nhé.
certbot renew