
前言
certbot能够生成泛域名证书,阿里云的免费证书只能是单域名。但是并不是所有的服务都支持letsencrypt证书,列如k8s的默认容器引擎containerd就不支持,此时就可以使用阿里云免费域名,两者交叉使用。大部分浏览器均支持letsencrypt证书,出于安全问题,生产环境务必使用收费证书。
准备工作如下:
- 准备一个阿里云域名
- 一份阿里云AccessKey
- 一台安装docker的centos7机器,docker能规避掉环境问题
启动容器(复制的时候删掉换行,处理成一行)
docker run -itd --name certbot
-e ALY_KEY="accessKey"
-e ALY_TOKEN="accessToken"
-e EMAIL="abc@abc.xyz"
-e CLOUD_TYPE="aly"
-e DOMAIN_NAME_LIST="*.wsdchigh.top"
loganjindev/certbot:v1.0.0
参数说明
-e CLOUD_TYPE="aly"
表明阿里云
-e DOMAIN_NAME_LIST="*.wsdchigh.top"
表明泛域名
-e ALY_KEY="accessKey" 具体的key,
为了安全使用过后就可以禁用
获取证书
容器启动一分钟左右,登录容器 docker exec -it certbot bash , 进入目录 cd /etc/letsencrypt/archive/,里面包含生成的证书。nginx需要使用到的证书privkey1.pem和fullchain1.pem,将它们复制到nginx对应的目录,然后通过 nginx -s reload 加载证书。
如何复制docker里面的内容 docker cp
certbot:etc/letsencrypt/archive ./ 就可以把内容复制到当前目录
如何刷新证书
letsencrypt证书的有效期是90天,certbot本身是会自动刷新,内置crontab任务,通过crontab -e 就能查到任务。如果觉得证书没有刷新,就删除容器重复上述操作。
如果需要自动给nginx续期,就将/etc/letsencrypt/archive/ 映射出来,nginx直接使用这个目录, 还需要手动执行 nginx -s reload
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
您必须登录才能参与评论!
立即登录



很多方法可以生成证书。关键是浏览器不认!
是的,ssl证书就是个垄断暴利行业
弱弱的问一句能用吗?
你这是个锤子教程
收藏了,感谢分享