使用acme.sh腳本在linux下自動創(chuàng)建 Let's Encrypt證書,可以給網(wǎng)站加上SSL鎖,并且是泛域名,免費(fèi)
安裝 acme.sh 腳本
curl https://get.acme.sh | sh
此時系統(tǒng)有了 acme.sh 的命令
生成域名證書
采用自動dns驗(yàn)證的方式,以DNSPOD的域名解析為例
- 首先在DNSPOD的網(wǎng)站生成 APP_ID 和 APP_KEY
登陸DNSPOD欠窒,安全設(shè)置,API Token退子,創(chuàng)建API Token 即可
- 生成證書
# 將DNSPOD的API TOKEN 導(dǎo)入到系統(tǒng)變量中
export DP_Id="abc123456"
export DP_Key="sADDsdasdgdsf"
acme.sh --issue --dns dns_dp -d '*.tinnypea.com'
使用acme生成的使用(以nginx為例)
# 生成nginx可用的ssl證書
acme.sh --installcert -d *.tinnypea.com \
--key-file /home/ubuntu/ssl/tinnypea.com.key \
--fullchain-file /home/ubuntu/ssl/fullchain.cer \
--reloadcmd "sudo service nginx force-reload"
# 此時生成了 nginx可用的ssl證書岖妄,并且放在了 /home/ubuntu/ssl/目錄下
# nginx做如下配置
cd /etc/nginx/sites-enabled
vi defalut
# 把80端口做301跳轉(zhuǎn)到https 443
server {
listen 80;
server_name tinnypea.com,www.tinnypea.com;
return 301 https://www.tinnypea.com$request_uri;
}
vi /etc/nginx/nginx.conf
# http部分設(shè)置ssl證書的路徑
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_certificate /home/ubuntu/ssl/fullchain.cer;
ssl_certificate_key /home/ubuntu/ssl/tinnypea.com.key;