certbot官网
sudo apt-get update sudo apt-get install software-properties-common sudo add-apt-repository universe sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot python-certbot-nginx
查看certbot版本
certbot --version
申请 HTTPS 证书
sudo certbot certonly -d "*.example.com" -d example.com --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
- certonly 安装模式
- -d 申请证书的域名,如果是通配符域名输入 *.example.com
- –manual 手动安装插件
- –preferred-challenges dns 使用 DNS 方式校验域名所有权
- –server,Let’s Encrypt ACME v2 版本使用的服务器不同于 v1 版本,需要显示指定
第一次执行完命令之后会提示需要输入邮箱,和一些协议需要同意和确认,然后每次运行此命令需要记录 IP 信息,需要同意不然不能继续申请
设置DNS TXT记录
需要在个人的域名供应商那进行dns域名解析,新增一个txt记录,将主机记录和记录值填上,线路类型一般默认,TTL默认一般设置600s,保存等待一小段时间即可。
ps:TTL为缓存的生存时间,默认最常用的 600 秒。指地方dns缓存您域名记录信息的时间,缓存失效后会再次到DNSPod获取记录值。
保存之后需要验证是否解析成功,验证方法见下方,验证成功之后,回车等待申请成功
如果是这样的就是证书申请成功了,然后在服务器上配置一下就可以了
验证DNS TXT 记录
nslookup -q=txt _acme-challenge.example.com
查看证书有效期
sudo openssl x509 -noout -dates -in /etc/letsencrypt/live/moneystar.top/cert.pem
证书目录:/etc/letsencrypt/live/example.com
ls /etc/letsencrypt/live/example.com cert.pem chain.pem fullchain.pem privkey.pem README自动续订
创建续订证书脚本
touch {自己服务器的目录绝对路径}/sslrenew.sh
编辑脚本
vim {自己服务器的目录绝对路径}/sslrenew.sh
脚本内容
sudo certbot renew
设置脚本可执行
chmod +x {自己服务器的目录绝对路径}/sslrenew.sh
编辑定时任务,每月1号执行续订 *** 作
crontab -e
添加定时逻辑
0 0 1 * * {自己服务器的目录绝对路径}/sslrenew.sh
重新加载定时任务
service crond reload
查看定时任务列表
crontab -l
配置nginx
server { listen 443 ssl; server_name localhost; location / { root html; index index.html index.htm; } ssl on; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; ssl_certificate /etc/letsencrypt/live/example.com/cert.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; }
作者公众号
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)