Certbot为阿里云域名生成证书
如果不行就在网页输入以下地址进行下载然后放到服务器上。安装python3.7。
·
调时区
rm /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
deactivate
一、升级openssl
openssl version
#如果是1.1.1就不用管,低于就得升级
1、下载
wget https://www.openssl.org/source/openssl-1.1.1l.tar.gz --no-check-certificate
2、解压
tar -zxvf openssl-1.1.1l.tar.gz
3、进目录
cd openssl-1.1.1l
4、装依赖
sudo yum groupinstall "Development Tools" -y
sudo yum install wget perl gcc make -y
5、编译安装
./config --prefix=/usr/local/openssl
make && make install
6、创建软链接
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
7、查看版本是否成功
openssl version
二、安装python3.7
1、安装依赖
yum -y install gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
2、下载安装包
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
如果不行就在网页输入以下地址进行下载然后放到服务器上
https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
3、解压
tar -zxvf Python-3.7.0.tgz
4、配置和编译
1、cd Python-3.7.0
2、./configure --prefix=/usr/local/python3.7 --with-openssl=/usr/local/openssl
3、make
4、make install
5、创建软连接
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3.7
ln -s /usr/local/python3.7/bin/pip3.7 /usr/bin/pip3.7
6、验证
python3 -c "import ssl; print(ssl.OPENSSL_VERSION)" #必须是openssl1.1.1+才行
python3.7 --version
pip3.7 --version
三、Certbot为阿里云域名生成证书
1、创建个ssl文件夹
mkdir ssl
2、创建python虚拟环境
python3.7 -m venv /ssl/certbot-env
3、激活虚拟环境
source /ssl/certbot-env/bin/activate
4、升级pip24
pip install --upgrade pip
5、安装certbot和阿里云插件
pip install certbot
pip install certbot-dns-aliyun
6、在certbot文件夹下创建aliyun.ini文件
mkdir /ssl/certbot/
vim /ssl/certbot/aliyun.ini
7、输入你的阿里云accesskey
dns_aliyun_access_key = xxxx
dns_aliyun_access_key_secret = xxxxxx
8、赋权限
chmod 600 /ssl/certbot/aliyun.ini
9、生成证书
certbot certonly --dns-aliyun-credentials aliyun.ini -d tmallab.cn -d *.tmallab.cn
10、自动化
修改 Certbot 配置文件
vim /etc/letsencrypt/renewal/tmallab.cn.conf
# 将这个自动修改成你创建的ini文件路径
dns_aliyun_credentials = /ssl/certbot/aliyun.ini
设置定时
crontab -e
每天3天检测,30天的时候自动续费
0 3 * * * /ssl/certbot-env/bin/certbot renew >> /var/log/certbot-renew.log 2>&1
或者这个在续期成功后重启nginx
0 3 * * * /ssl/certbot-env/bin/certbot renew --deploy-hook "systemctl reload nginx" >> /var/log/certbot-renew.log 2>&1
到时候把nginx下的ssl证书路径设置到自动生成的这个路径就可以了
更多推荐
所有评论(0)