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...”,建议你多耐心等待一会就会出结果了,也不会卡在这里了。

发表评论
评论通过审核后显示。