網站之前買的SSL證書快到期了,查了一下, letsencrypt的免費證書居然都支持泛域名了,那還有什么好說的,搞起搞起。
#1 獲取域名的管理token
這里以cloudflare為例,操作步驟很簡單,直接上圖:
#2 進服務器開始敲命令:
- 下載并安裝acme.sh ssl證書簽發腳本
curl https://get.acme.sh | sh
- 關閉并重新打開shell
- 配置cloudflare管理token(請保護好這個令牌的安全,不要泄露)
export CF_Token="第一步拿到的cloudflare訪問令牌"
- 簽發證書(需要把yourdomain.com替換成你的域名)
acme.sh --issue --DNS dns_cf -d yourdomain.com -d *.yourdomain.com -k ec-256
- 安裝簽發后的證書到指定路徑并設定Nginx reload命令(不reload的話,新的ssl證書不會生效)
acme.sh --installcert -d yourdomain.com --fullchainpath /usr/local/nginx/conf/yourdomain.com.crt --keypath /usr/local/nginx/conf/yourdomain.com.key --ecc --reloadcmd "/usr/bin/sudo service nginx reload"
- acme腳本會自動生成一條crontab任務,為了方便觀察,我們刪掉它添加的任務,添加我們自己的定時任務:
23 0 * * * /home/centos/acme.sh --cron >> renew-ssl.log
- 定時任務的執行周期可以自行設定,更新證書的日志會到用戶目錄的renew-ssl.log文件里,生成的ssl證書文件訪問路徑為/usr/local/nginx/conf/yourdomain.com.crt和/usr/local/nginx/conf/yourdomain.com.key(這倆文件路徑可以根據需要進行修改)
- 打完收工,具體效果歡迎訪問https://hhacker.com查看