Nginx获取Let’s Encrypt SSL证书

Nginx获取Let’s Encrypt SSL证书

首先需要注册域名,然后把域名解析到你服务器的ip地址上。
1、下载Let’ s Encrypt客户端
Let’ s Encrypt客户端地址:https://github.com/certbot/certbot/releases

#下载Let’ s Encrypt客户端
curl -o certbot-0.39.0.tar.gz https://codeload.github.com/certbot/certbot/tar.gz/v0.39.0
#解压、进入目录
tar -zxvf certbot-0.39.0.tar.gz
cd certbot-0.39.0
#检查升级
./certbot-auto --help

此时会显示帮助文档。
2、获取证书:
方法一:停止nginx让出80端口,验证域名。

#停止nginx、查看运行状态
systemctl stop nginx 
systemctl status nginx
#运行获取证书命令
./certbot-auto certonly --standalone --email xxxx@xx.com -d www.xxxx.com

方法二:通过临时目录验证获取(不需要停止nginx让出80端口)

./certbot-auto certonly --webroot --email xxxx@xx.com -w /usr/share/nginx/html -d xxx.xxxx.com

执行成功则显示如下页面
成功获取证书并保存在“/etc/letsencrypt/live/根域名/” 目录下

获取证书成功后会保存在“/etc/letsencrypt/live/你申请的域名/” 目录下

域名自动续期脚本
新建/root/certbot-0.39.0/certbotrenew.sh文件写入以下内容

[root~]# vi  /root/certbot-0.39.0/certbotrenew.sh

#!/bin/sh
#停止 nginx 服务,使用 --standalone 独立服务器验证需要停止当前 web server.
systemctl stop nginx
if ! /path/to/certbot-auto renew -nvv --standalone > /var/log/letsencrypt/renew.log 2>&1 ; then
    echo Automated renewal failed:
    cat /var/log/letsencrypt/renew.log
    exit 1
fi
#启动 nginx
systemctl start nginx

自动运行脚本

[root~]# chmod +x /root/certbot-0.39.0/certbotrenew.sh
[root~]# crontab -e	//写入以下内容

0 23 28 * * /bin/sh /root/certbot-0.39.0/certbotrenew.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值