certimate:从本地获取证书,完成自动续期、并部署到远程服务器。
certimate:从本地获取证书,完成自动续期、并部署到远程服务器。
Long Monday前言
当我们入坑开始部署自己的站点后,根据使用用途的不同,可能会有多个web服务需要管理,而SSL时绝大多数web服务都需要使用的,那么如何管理SSL证书呢?
有很多办法可以申请证书,单台服务器,当然很简单,在服务区上使用certbot或acme等申请证书,设置cron任务。
到那时有多台服务器时,应该如何快捷地部署和管理证书呢?
之前有用过一段时间的httpsok,但httpsok是SaaS服务,所有的证书都会自动共享给httpsok,先不说安全问题,作为有强大控制欲的我们,当然会希望这样的统一证书管理服务,可以直接由自己完全掌控。所以,直接在本机上运行certimate的docker容器,完成对自己所有的域名的证书申请,并自动部署到远程服务器上。
使用docker部署certimate
我们使用docker compose来部署certimate,docker-compose.yml
文件代码如下:
1 | services: |
在当前的目录下,执行docker compose up -d
。
访问certimate页面
在当前电脑浏览器输入:http://127.0.0.1:8090
,访问。
在相同局域网内输入:http://<局域网IP>:8090
,访问。
默认用户名密码
1 | 用户名:admin@certimate.fun |
修改密码
虽然是安装在本地,但是还是建议养成修改密码的习惯。
新增域名
点击域名列表,将自己的域名添加进去:
我们将使用DNS方式申请证书,所以除来需要填写邮箱外,最好还是填写相关DNS解析商的信息。
添加完,点击 下一步 。
部署配置
一般我们只需要使用SSH部署即可,推荐使用私钥登陆部署。(当然,还在使用密码登陆远程服务器的小伙伴,也建议开始尝试使用私钥管理服务器。详细请参考:SSH密钥管理)
填写完所有配置信息后,点击部署完成即可。
点击开始部署,如果一切正常,会在页面上显示部署信息,稍等片刻,我们就能在控制台看到我们的部署信息了。
注意事项
对于使用aapanel或者1panel管理站点的小伙伴,你可以直接修改站点的config文件,相比于panel内部申请的模式。你需要为panel配置定期重启nginx的cron任务,否则nginx不会自动重启,导致证书过期。