Cài đặt Let’s Encrypt SSL TRÊN Amazon Linux 2023

Võ Lành

Updated on:

Tiếp theo series về Amazon Linux 2023, trong bài viết này mình sẽ trình bày chi tiết các bước cài đặt let’s encrypt ssl trên Amazon Linux 2023.

Việc cài đặt ssl sắp tới sẽ là điều bắt buộc khi mà phiên bản cập nhật của Chrome sắp tới sẽ hiện cảnh báo trên trình duyệt khi 1 trang web không cài đặt ssl mà chỉ dùng http.

Yêu cầu:

Server Amazon Linux 2023 của bạn đã được cài đặt Nginx theo LEMP hoặc LAMP stack. Bạn có thể tham khảo bài viết sau nếu chưa cài đặt LEMP:

Hướng dẫn cài đặt LEMP stack trên Amazon Linux 2023

Bước 1: Install Certbot

Certbot là một công cụ tự động hóa quá trình lấy và gia hạn chứng chỉ SSL từ Let’s Encrypt. Để cài đặt Certbot, hãy chạy lệnh sau:

sudo python3 -m venv /opt/certbot/ 

sudo /opt/certbot/bin/pip install --upgrade pip 

Đối với server Nginx:

sudo /opt/certbot/bin/pip install certbot certbot-nginx 

Đối với server Apache:

sudo /opt/certbot/bin/pip install certbot certbot-apache

Thực hiện link folder để certbot có thể chạy được.

sudo ln -s /opt/certbot/bin/certbot /usr/bin/certbot

Bước 2: Tiến hành cài đặt sSL

Tiến hành cài đặt SSL trên Amazon Linux 2023 cho Nginx:

sudo certbot --nginx
[ec2-user@ip-xxx sites-enabled]$ sudo certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.

1: dev.xxx.com

2: test.xxx.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Certificate not yet due for renewal
Successfully deployed certificate for dev.xxx.com to /etc/nginx/sites-enabled/blog.xxx.conf 
Congratulations! You have successfully enabled HTTPS on https://dev.xxx.com

Tại bước bên trên sẽ tự động quét các domain đã cài đặt trên server của bạn. Tại bước này ta cần nhập vào số thứ tự của domain muốn cài ssl. Giả sử muốn cài đặt cả domain 1 và 2 thì sẽ nhập 1,2. Ngăn cách bởi dấu ,

Tiến hành cài đặt SSL trên Amazon Linux 2023 cho Apache:

sudo certbot --apache

Sau khi cài đặt thành công thì Let’s Encrypt sẽ tự động thêm vào file conf Nginx của domain bạn đã chọn như sau

ssl config
Sau khi cài ssl nội dung config được thêm vào

Bước 3. Cài đặt tự động gia hạn sSL

Chứng chỉ SSL/TLS từ Let’s Encrypt chỉ có hiệu lực trong một khoảng thời gian nhất định, thường là 90 ngày. Khi hết hạn ta chạy lệnh bên dưới để làm mới:

sudo certbot renew

Để tránh việc phải cài đặt chứng chỉ thủ công, bạn có thể thiết lập một công việc Cron để tự động gia hạn chứng chỉ.

Thêm dòng sau vào tệp crontab (chạy lệnh sudo crontab -e để chỉnh sửa):

0 0 1 * * certbot renew --quiet

Dòng này sẽ tự động chạy Certbot mỗi ngày đầu tiên trong tháng để gia hạn chứng chỉ. Nếu chứng chỉ gần hết hạn, Certbot sẽ tự động gia hạn chúng.

Để chạy lệnh cài đặt Crojob mỗi ngày

0 * * * * certbot renew --quiet

Để lệnh chạy hàng tuần ta cài đặt lệnh

45 2 * * 6 certbot renew --quiet

option –quiet để các thông báo trong quá trình cài đặt không hiển thị, chỉ hiển thị khi bị lỗi.

Theo document của Cerbot, bạn cũng có thể run command bên dưới để tự động việc gia hạn ssl.

echo "0 0,12 * * * root /opt/certbot/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && sudo certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

Tổng kết

SSL là một thành phần thiết yếu của lưu trữ web hiện đại. Bằng cách làm theo các bước được nêu trong blog này, bạn có thể dễ dàng thiết lập SSL trên Amazon Linux 2023 bằng Nginx và Let’s Encrypt. Với SSL, bạn có thể bảo vệ thông tin nhạy cảm của người dùng và nâng cao uy tín cũng như độ tin cậy cho trang web của mình.

reference:

https://certbot.eff.org/instructions?ws=nginx&os=pip

https://certbot.eff.org/instructions?ws=apache&os=pip

Viết một bình luận