记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

利用docker快速一键生成自签证书

利用docker快速一键生成自签证书

快速生成证书
一个脚本,并使用容器进行封装,以达到可以使用极其简的命令行来生成证书的目的,并借助容器简化掉了本地需要安装 openssl 依赖的问题,“开箱即用”。
相关代码已经开源,项目地址:https://github.com/soulteary/certs-maker
使用 docker cli 生成
比如想生成一个稍微复杂一些的站点证书,只需要执行下面这行命令就足够了:
XML/HTML代码
  1. docker run --rm -it -e CERT_DNS="domain.com;*.domain.com;*.a.domain.com" -v `pwd`/certs:/ssl soulteary/certs-maker
执行完毕你将会看到类似下面的日志:
XML/HTML代码
  1. User Input: { CERT_DNS: 'domain.com;*.domain.com;*.a.domain.com' }  
  2.   
  3. Generating a RSA private key  
  4. ................................................................................................................................................+++++  
  5. .........................................................+++++  
  6. writing new private key to 'ssl/domain.com.key'  
  7. -----  
以及能够在 ssl 目录中看到我们生成的证书文件。
至于其他的使用方式,比如生成包含多个域名的混合证书、生成单个证书,只需要调整 CERT_DNS 参数的值即可。如果想进一步定制前文提到的证书细节,比如证书签发国家、省份等信息,可以参考开源项目仓库的使用方式,按照需求添加其他的参数。
使用 docker-compose 生成
如果你希望将命令保存下来,作为代码存储在仓库里,也可以考虑编写一个 compose 文件:
XML/HTML代码
  1. version: '2'
  2.  
  3. services:
  4.  
  5. certs-maker:
  6. image: soulteary/certs-maker
  7. environment:
  8. CERT_DNS=a.com;b.com;c.com;*.d.com;
  9. volumes:
  10. - ./certs:/ssl
将上面的内容保存为 docker-compose.yml,然后执行 docker-compose up ,你会在 certs 目录看到生成的证书文件。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):