le官方给的生成工具实在有点太繁琐 要各种依赖包
这里分享一个 快速生成的脚本 https://github.com/xdtianyu/scripts/tree/master/lets-encrypt
首先 先获取文件
wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.conf wget https://raw.githubusercontent.com/xdtianyu/scripts/master/lets-encrypt/letsencrypt.sh chmod +x letsencrypt.sh
修改letsencrypt.conf内的内容 改为本站的域名 因为本站用了cdn 域名更新不方便 就拿loliyun做下实验
ACCOUNT_KEY="letsencrypt-account.key"DOMAIN_KEY="loliyun.cn.key"
DOMAIN_DIR="/var/www/loliyun.cn"# 网站目录
DOMAINS="DNS:loliyun.cn,DNS:www.loliyun.cn"
执行脚本
./letsencrypt.sh letsencrypt.conf
在当前目录下就会生成证书
loliyun.chained.crt
loliyun.cn.key
编辑nginx配置文件
把80端口 改为443
listen 443 ssl;
ssl_certificate /root/loliyun.chained.crt;
ssl_certificate_key /root/loliyun.cn.key;
再创建一个server{} 把80端口重定向到https<br/>
server
{
listen 80;
server_name loliyun.cn *.loliyun.cn;
return 301 https://www.loliyun.cn$request_uri;
}
重启nginx
因为证书有效期是90天 编辑一下letsencrypt.sh 里面 在最后加入一条ngnix重启的命令
然后cron任务<br/>
0 0 1 /脚本位置/letsencrypt.sh /脚本位置/letsencrypt.conf >> /var/log/lets-encrypt.log 2>&1
配置完成 每月都会重新生成证书并且重启nginx
测试地址<br/>