Cài đặt SSL Let’s Encrypt với Certbot trên Nginx như thế nào?
Ở bài viết này AZDIGI sẽ hướng dẫn bạn cách cài đặt chứng chỉ SSL Let’s Encrypt lên máy chủ Nginx một cách đơn giản và nhanh chóng nhất. Các bạn cùng xem qua bài viết nhé.
I. Tổng quan
SSL là gì?
SSL là một loại chứng chỉ giúp mã hóa các thông tin trên những thiết bị hoặc các ứng dụng có hỗ trợ mã hóa này bằng chứng chỉ SSL. Chứng chỉ SSL sẽ có hai phần gồm những phần Private Key và Public Key, trong đó Public Key nó sẽ được cài ở các ứng dụng đầu cuối mà trình duyệt hay các ứng dụng khác cũng có thể truy cập đọc được, còn Private Key nó sẽ được cài đặt ở các ứng dụng xử lý tiếp nhận dữ liệu.
Mục đích hoạt động của nó giống như chìa khóa để giúp giải mã những dữ liệu gửi đi từ thiết bị đầu cuối cũng đã được mã hóa thông qua Public Key.
Let’s Encrypt là gì?
Let’s Encrypt là một tổ chức xác thực SSL giống như Comodo, GeoTrust, Symantec nhưng cái điểm khác đó là họ là tổ chức phi lợi nhuận được thành lập với sự bảo trợ của các tổ chức lớn trên thế giới Cisco, Akamai, Mozilla, Facebook…Do đó, những chứng chỉ SSL Let’s Encrypt sẽ không khác gì với những loại chứng chỉ SSL khác mà chỉ khác nhau ở chỗ bạn phải gia hạn mỗi 90 ngày một lần nếu muốn tiếp tục sử dụng.
Ngoài ra các bạn có thể tham khảo thêm về Let’s Encrypt tại link trang chủ bên dưới.
Vậy để cài đặt SSL Let’s Encrypt lên máy chủ Nginx thì làm sao, mời các bạn xem tiếp các bước thực hiện bên dưới.
II. Các bước thực hiện
Để cài đặt SSL Let’s Encrypt trên máy chủ Nginx các bạn có thể thực hiện với 3 bước sau.
Bước 1: Cài đặt Cerbot Let’s Encrypt Client
Với Let’s Encrypt các bạn có thể cài đặt nhanh nó thông qua Certbot client chỉ với vài dòng lệnh đơn giản, việc còn lại của bạn chỉ là ngồi chờ hệ thống chạy tự động.
Đầu tiên bạn cần cài đặt EPEL repository:
AZDIGI Tutorial
yum -y install epel-release
Bây giờ thì cài đặt certbot-nginx bằng câu lệnh sau:
AZDIGI Tutorial
yum -y install certbot-nginx
Bước 2: Cài đặt SSL Let’s Encrypt
Lưu ý: Bạn phải đảm bảo domain đã được trỏ về IP máy chủ ( Nếu cài đặt SSL cho cả www.domain.com thì sub www cũng phải trỏ về máy chủ nhé)
Để cài đặt SSL cho website , các bạn sử dụng câu lệnh sau. (Bạn nhớ thay azdigi.cf thành tên website của bạn)
AZDIGI Tutorial
certbot --nginx -d azdigi.cf -d www.azdigi.cf
[root@template conf.d]# certbot --nginx -d azdigi.cf -d www.azdigi.cf
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): kiendt@azdigi.cf (Nhập email của bạn)
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y (Nhấn Y để đồng ý điều khoản)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N (Nhấn N để từ chối các thông tin, tin tức từ letsencrypt và Certbot )
Account registered.
Requesting a certificate for azdigi.cf and www.azdigi.cf
Performing the following challenges:
http-01 challenge for azdigi.cf
http-01 challenge for www.azdigi.cf
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/azdigi.cf.conf
Deploying Certificate to VirtualHost /etc/nginx/nginx.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/azdigi.cf.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/nginx.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://azdigi.cf and
https://www.azdigi.cf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/azdigi.cf/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/azdigi.cf/privkey.pem
Your cert will expire on 2021-04-14. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Như vậy đã cài đặt thành công SSL thông qua Certbot, đường đẫn lưu file chứng chỉ của website sẽ nằm tại đường dẫn tương ứng.
Chứng chỉ Let’s Encrypt chỉ có hiệu lực trong 90 ngày, do đó bạn có thể thiết lập cronjob để chứng chỉ tự động gia hạn nếu như hết hạn.
Các bạn chạy câu lệnh sau để mở cửa sổ thêm Cronjob
AZDIGI Tutorial
export VISUAL=nano; crontab -e
Copy nội dung bên dưới và dán vào cửa sổ Crontab
AZDIGI Tutorial
00 6 * * * /usr/bin/certbot renew --quiet
Chú thích: Cronjob này có nghĩa là cứ đúng 6:00 AM nó sẽ check chứng chỉ, nếu chứng chỉ hết hạn sẽ tự động gia hạn. Ngược lại, nếu còn hạn sẽ không thực hiện gia hạn.
Bước 3: Kiểm tra chứng chỉ sau cài đặt
Để kiểm tra chính xác hơn website của bạn đã được cài đặt thành công SSL chưa, bạn có thể kiểm tra thêm thông qua 2 cách bên dưới.
Cách 1: Kiểm tra từ trình duyệt
Bạn có thể truy cập website của mình ở trình duyệt và click vào biểu tượng ổ khóa như hình bên dưới kiểm tra. Tại đây sẽ hiển thị website đang sử dụng chứng chỉ của hãng nào, đồng thời cũng ghi rõ ngày cấp và ngày hết hạn.
Sau đó bạn điền domain của mình vào và nhấn Check SSL . Lúc này toàn bộ thông tin về chứng chỉ của website sẽ được hiển thị đầy đủ như bên dưới.
III. Tổng kết
Như vậy ở bài viết này AZDIGI đã hướng dẫn bạn cách cài đặt nhanh SSL Let’s Encrypt lên website thông qua Certbot một cách nhanh chóng và đơn giản nhất. Việc cài đặt SSL tưởng chừng đơn giản này nhưng lại giúp ích khá nhiều cho website của bạn trong việc bảo mật cũng như rất tốt cho SEO. Hy vọng bài viết này sẽ giúp bạn cài đặt thành công.!
Niềm đam mê máy tính đã đồng hành cùng tôi trong suốt những năm tháng cấp 3. Sự hứng thú với môn học Pascal lại càng thôi thúc ước mơ trở thành 1 lập trình viên chuyên nghiệp của tôi. Những thách thức, sự thú vị và cảm giác thỏa mãn khi có thể giải quyết tốt một vấn đề bằng chính logic của bản thân là một trong những lý do tôi ngày càng yêu thích con đường này.
Gần đây thì rất nhiều đang nhắc đến và chuyển qua sử dụng React – mã nguồn mở được tạo ra bởi Facebook, hiện tại thì có rất nhiều ông lớn về công nghệ đang sử dụng như : Dropbox, AirBnB, PayPal hay là Netflix … – những cái đủ lớn để nói lên mức độ tin cậy và sức hấp dẫn của React.
Để học HTML và CSS không khó. Theo hướng dẫn dành cho người mới bắt đầu hoàn chỉnh này, bạn sẽ nhanh chóng thành thạo kỹ năng phát triển web và có thể tự xây dựng trang web đầu tiên của mình sau vài phút.