Hướng dẫn cài lets encrypt ubuntu nginx năm 2024
Để sử dụng giao thức HTTPS trên trang web, bạn phải có chứng chỉ TLS/SSL và định cấu hình Nginx. Bạn có thể nhận được chứng chỉ từ cơ quan cấp chứng chỉ đáng tin cậy để kiếm tiền trong một số lượng lớn dịch vụ. Có thể sử dụng phiên bản miễn phí nhờ dịch vụ Let’s Encrypt và được mô tả ở đây trong bước 3. Bạn cũng cần thực hiện cấu hình Nginx cơ bản . Nếu bạn sử dụng chứng chỉ tự ký, trình duyệt sẽ hiển thị lỗi khi kiểm tra bảo mật. Show 1. Cấu hình SSL cơ bảnNếu bạn đã mua chứng chỉ SSL, bạn phải tạo một chuỗi chứng chỉ hoàn chỉnh từ khóa công khai đã nhận và chuỗi trung tâm chứng nhận. Để thực hiện việc này, hãy đặt nội dung của tệp chuỗi ở cuối tệp khóa chung. Các tệp có thể có phần mở rộng .pem hoặc .crt.
Bây giờ sao chép tập tin vào máy chủ của bạn. Một lựa chọn tốt là đặt khóa riêng (.key hoặc .pem) vào thư mục /etc/ssl/private/ và fullchain.pem vào /etc/ssl/certs/ . Bây giờ hãy mở tệp cấu hình của máy chủ ảo của bạn (/etc/nginx/sites-available/domain-name.com) và thêm các dòng sau: server { listen 443 ssl; server_name domain-name.com; # Your website’s domain name ssl_certificate /etc/ssl/certs/fullchain.pem; # Path to the full chain of your SSL certificate ssl_certificate_key /etc/ssl/private/privkey.pem; # Path to the private key of your SSL certificate } Đừng quên thiết lập các tham số gốc và chỉ mục trong phần này, giống như trong phần HTTP. Khởi động lại Nginx. systemctl restart nginx 2. Vô hiệu hóa các giao thức lỗi thời và bật ưu tiên cho mật mã máy chủChỉ định việc sử dụng các phiên bản TLS 1.2 và 1.3 và mức độ ưu tiên cho mật mã máy chủ. Mở tệp /etc/nginx/nginx.conf và sửa hoặc thêm các dòng sau trong phần http. http { … ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; … } Khởi động lại Nginx.
3. Chuyển hướng từ HTTP sang HTTPSĐể định cấu hình trang web chỉ hoạt động qua HTTPS, bạn cần thêm chuyển hướng bằng HTTP. Mở tệp cấu hình của máy chủ ảo của bạn (/etc/nginx/sites-available/domain-name.com), xóa phần HTTP: Giới thiệuSSL là gì?SSL là viết tắt của Secure Sockets Layer, là một tập tin nhỏ được mã hóa chứa dữ liệu thông tin của một website hoặc một tổ chức/công ty. Khi cài đặt chứng chỉ lên máy chủ website (webserver), nó sẽ cho phép website sử dụng kết nối an toàn (hay còn gọi là Giao thức HTTPS) khi giao tiếp giữa webserver và trình duyệt của người dùng. Khi dữ liệu truyền đi thông qua giao thức HTTPS, các dữ liệu sẽ được mã hóa và chỉ có webserver chứa khóa riêng (private key) thì mới có thể giải mã được dữ liệu này. Cerbot là gì?Certbot là một ứng dụng Let’s Encrypt phổ biến nhất và có trong hầu hết các bản phân phối Linux chính, bao gồm khả năng cấu hình tự động thuận tiện cho Apache và Nginx. Hướng dẫn thực hiệnLưu ý: Domain cần cài đặt SSL phải được trỏ về IP máy chủ Để cài đặt SSL Let’s Encrypt với Certbot trên Nginx , các bạn có thể thực hiện theo các bước sau Bước 1: Cài đặt Cerbot Let’s Encrypt Client
sudo apt install certbot -y python3-certbot-nginx
sudo ufw allow 'Nginx Full' ### Bước 2: Cài đặt SSL Let’s Encrypt cho websiteĐể cài đặt SSL Let’s Encrypt cho website với Cerbot-nginx, chúng ta sẽ có cấu trúc câu lệnh bên dưới.
Ở đây mình làm mẫu với website demo.damtrungkien.com , nên cú pháp của mình sẽ như sau sudo certbot --nginx -d demo.damtrungkien.com Bây giờ bạn tiến hành điền các thông tin cần thiết để thiết lập SSL cho website.
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 at https://acme-v02.api.letsencrypt.org/directory (A)gree/(C)ancel: A ### Nhập A đồng ý điều khoản Would you be willing 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ập N từ chối nhận các thông báo khác của Let's Encrypt Obtaining a new certificate Performing the following challenges: http-01 challenge for demo.damtrungkien.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default 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): 2 Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default Congratulations! You have successfully enabled https://demo.damtrungkien.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=demo.damtrungkien.com IMPORTANT NOTES:
Sau khi cài đặt xong, bạn truy cập website và kiểm tra kết quả. Như hình dưới là mình đã cài đặt SSL Let’s Encrypt cho website thành công với Cerbot-nginx. |