Bước 1 - Cài đặt Certbot Let Let Encrypt Client
Bước đầu tiên để sử dụng Let Enc Encrypt để lấy chứng chỉ SSL là cài đặt phần mềm certbot trên máy chủ của bạn. Hiện tại, cách tốt nhất để cài đặt này là thông qua kho EPEL.
Cho phép truy cập vào kho EPEL trên máy chủ của bạn bằng cách nhập:
sudo yum install epel-release
Khi kho lưu trữ đã được bật, bạn có thể lấy gói certbot-nginx bằng cách nhập:
sudo yum install certbot-nginx
Bước 2 - Cập nhật tường lửa
Nếu bạn đã bật tường lửa, hãy đảm bảo cổng 80 và 443 được mở cho lưu lượng đến. Nếu bạn không chạy tường lửa, bạn có thể bỏ qua.
Nếu bạn có tường lửa tường lửa đang chạy, bạn có thể mở các cổng này bằng cách nhập:
sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https
sudo firewall-cmd --runtime-to-permanent
Nếu có tường lửa iptables đang chạy, các lệnh bạn cần chạy phụ thuộc nhiều vào bộ quy tắc hiện tại của bạn. Đối với bộ quy tắc cơ bản, bạn có thể thêm quyền truy cập HTTP và HTTPS bằng cách nhập:
sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT
Hiện tại chúng tôi đã sẵn sàng để chạy Certbot và lấy chứng chỉ của chúng tôi.
Bước 3 - Lấy chứng chỉ
Certbot cung cấp nhiều cách khác nhau để có được chứng chỉ SSL, thông qua các plugin khác nhau. Plugin Nginx sẽ đảm nhiệm việc cấu hình lại Nginx và tải lại cấu hình bất cứ khi nào cần thiết:
sudo certbot --nginx -d example.com -d www.example.com
Điều này chạy certbot với plugin --nginx, sử dụng -d để chỉ định tên chúng tôi giống như chứng chỉ hợp lệ.
Nếu đây là lần đầu tiên bạn chạy certbot, bạn sẽ được nhắc nhập địa chỉ email và đồng ý với các điều khoản dịch vụ. Sau khi làm như vậy, certbot sẽ liên lạc với máy chủ Let Let Encrypt, sau đó chạy thử thách để xác minh rằng bạn kiểm soát tên miền mà bạn yêu cầu chứng nhận.
Nếu điều đó thành công, certbot sẽ hỏi cách bạn muốn định cấu hình cài đặt HTTPS của bạn:
Please choose whether HTTPS access is required or optional.
-------------------------------------------------------------------------------
1: Easy - Allow both HTTP and HTTPS access to these sites
2: Secure - Make all requests redirect to secure HTTPS access
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Chọn lựa chọn của bạn sau đó nhấn ENTER. Cấu hình sẽ được cập nhật và Nginx sẽ tải lại để nhận cài đặt mới. certbot sẽ kết thúc bằng một thông báo cho bạn biết quá trình đã thành công và nơi chứng chỉ của bạn được lưu trữ:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/example.com/fullchain.pem. Your cert will
expire on 2017-10-23. 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"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- 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
Chứng chỉ của bạn được tải xuống, cài đặt và tải. Hãy thử tải lại trang web của bạn bằng https: // và chú ý chỉ báo bảo mật của trình duyệt của bạn. Nó phải thể hiện rằng trang web được bảo mật đúng cách, thường có biểu tượng khóa màu xanh lá cây.
Bước 4 - Thiết lập tự động gia hạn
Hãy để chứng nhận mã hóa mã hóa chỉ có hiệu lực trong chín mươi ngày. Điều này là để khuyến khích người dùng tự động hóa quá trình gia hạn chứng chỉ của họ. Chúng tôi cần phải thiết lập một lệnh chạy thường xuyên để kiểm tra các chứng chỉ hết hạn và tự động gia hạn chúng.
Để chạy kiểm tra gia hạn hàng ngày, chúng tôi sẽ sử dụng cron, một dịch vụ hệ thống tiêu chuẩn để chạy các công việc định kỳ. Chúng tôi nói cho cron biết phải làm gì bằng cách mở và chỉnh sửa một tệp gọi là crontab.
sudo crontab -e
Trình soạn thảo văn bản của bạn sẽ mở crontab mặc định là một tệp văn bản trống vào thời điểm này. Dán vào dòng sau, sau đó lưu và đóng nó:
15 3 * * * /usr/bin/certbot renew --quiet
Phần 15 3 * * * của dòng này có nghĩa là chạy lệnh sau vào lúc 3:15 sáng, mỗi ngày. Bạn có thể chọn bất cứ lúc nào.