目前主流的CentOS版本是6和7两个系列。有些功能在7中可以轻易实现,在6系列中做到要花费更多功夫。比如本博客的 “使用Let’s Encrypt的免费证书” 和 “ImportError: ‘pyOpenSSL’ module missing required functionality”两篇文章均是在CentOS 7下成功。在CentOS 6中使用certbot工具会遇到OpenSSL版本太低的问题,pip方式安装编译不通过等问题。
为了不折腾Python、OpenSSL太旧等依赖的问题,最好的解决方法是直接运行CentOS 7。这时候轻量级的虚拟化方案docker就派上用场了。以获取certbot的证书为例,在docker中运行CentOS 7的步骤如下:
- 安装docker
yum update -y && yum install -y docker-io chkconfig docker on && service docker start
- 拉取最新版的CentOS
docker pull centos
- 运行CentOS 7容器
docker run -it --name certbot
以上步骤后,会进入到CentOS 7中的容器中。接下来便可在容器中安装certbot和获取域名证书。
获取到证书后,退出容器,在宿主机的/var/lib/docker目录下查找容器中获取到的证书:
find /var/lib/docker -type f -name tlanyan.pp.ua
找到域名证书文件后,配置好web服务器,即可让网站通过https方式访问。
如果需要更新证书,则重新开启容器,运行更新命令即可:
docker start -i certbot certbot renew
发表回复