lets encrypt 泛域名证书部署
- 2020-08-19 14:42:00
- wyd621
- 原创 0
#x下载certbot-auto 脚本 wget https://dl.eff.org/certbot-auto #设置可执行权限 chmod a+x ./certbot-auto #获取普通域名证书 ./certbot-auto certonly -d easycorp.cn -d www.easycorp.cn -d e.easycorp.cn -d devel.easycorp.cn --nginx #获取泛域名证书 ./certbot-auto certonly -d "*.theme.chanzhi.org" --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
普通域名的证书会自动调用apache 和 nginx 的配置文件进行验证。 泛域名证书验证必须使用dns验证格式,需要添加一个txt解析记录,记录值会在获取证书时提示出来。
添加txt记录生效后回车继续。最后获取的证书和私钥会存放在
/etc/letsencrypt/live/theme.chanzhi.org/修改/apache2 或者nginx 配置文件,重启apache 就o了。
# 修改apache 配置文件 http 跳转到 https RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R=301,L]
部署计划任务自动更新证书
crontab -e # Renew letsencrypt ssl certs. 1 1 1 * * sudo /home/z/bin/certbot-auto renew 2> /dev/null
泛域名证书因为dns验证的原因,现在不能自动更新,需要每三个月重新手动处理。每次更新后可以创建一个下次更新的待办。
如何解决更新https ssl证书时卡住在Installing Python packages...不动
原因:
1、Python版本低于2.7;
2、pip命令没有安装;
3、pip镜像源有问题;
解决方法
既然我们知道了有哪些原因?我们解决起来就容易多了,今天特意来说一下我是如何解决这个问题的?
第一步:查看服务器上的Python版本
python --version
这里我得到的结果是python3.4,说明pyhton版本没问题。这里肯定会有人出现你的pyhton版本是pyhton2.6,具体请查看:Linux实现python3与python2共存以及修改python默认版本
第二步:查看服务器上是否安装了pip命令?
pip --version
这里我得到的结果是,没有pip这个命令。
如果pip尚未安装,则首先尝试从标准库引导它,可以用如下命令来快速安装:
python -m ensurepip --default-pip
第三步:查看pip镜像源
pip镜像源的位置一般默认是“~/.pip/pip.conf”,结果我发现我服务器上这个位置根本没有这个文件,路存都不存在,说明pip镜像源没问题。
如果你有此路径,不妨将镜像源修改为清华镜像源,这样就能解决pip镜像源的问题。
vim ~/.pip/pip.conf
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
总结:到现在为止,我相信你已经可以运行Let's Encrypt证书相关的命令了,此时如果还有“Installing Python packages...”,建议你多耐心等待一会就会出结果了,也不会卡在这里了。