<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="利用docker快速一键生成自签证书">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2023-08-05 23:38<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
利用docker快速一键生成自签证书




快速生成证书


一个脚本，并使用容器进行封装，以达到可以使用极其简的命令行来生成证书的目的，并借助容器简化掉了本地需要安装 openssl 依赖的问题，&ldquo;开箱即用&rdquo;。


相关代码已经开源，项目地址：https://github.com/soulteary/certs-maker


使用 docker cli 生成


比如想生成一个稍微复杂一些的站点证书，只需要执行下面这行命令就足够了：






XML/HTML代码


    docker run --rm -it -e CERT_DNS=&quot;domain.com;*.domain.com;*.a.domain.com&quot; -v `pwd`/certs:/ssl soulteary/certs-maker




执行完毕你将会看到类似下面的日志：




XML/HTML代码


    User Input: { CERT_DNS: 'domain.com;*.domain.com;*.a.domain.com' }  

      

    Generating a RSA private key  

    ................................................................................................................................................+++++  

    .........................................................+++++  

    writing new private key to 'ssl/domain.com.key'  

    -----  





以及能够在 ssl 目录中看到我们生成的证书文件。


至于其他的使用方式，比如生成包含多个域名的混合证书、生成单个证书，只需要调整 CERT_DNS 参数的值即可。如果想进一步定制前文提到的证书细节，比如证书签发国家、省份等信息，可以参考开源项目仓库的使用方式，按照需求添加其他的参数。






使用 docker-compose 生成


如果你希望将命令保存下来，作为代码存储在仓库里，也可以考虑编写一个 compose 文件：






XML/HTML代码


    version: '2'

     

    services:

     

    certs-maker:

    image: soulteary/certs-maker

    environment:

    - CERT_DNS=a.com;b.com;c.com;*.d.com;

    volumes:

    - ./certs:/ssl




将上面的内容保存为 docker-compose.yml，然后执行 docker-compose up ，你会在 certs 目录看到生成的证书文件。


httpsok--一键搞定证书


httpsok 是一个便捷的 HTTPS 证书自动续签工具，专为 Nginx 、OpenResty 服务器设计。 一行命令，一分钟轻松搞定SSL证书自动续期


官网：https://httpsok.com/


登录官网微信扫码登录后获取token

XML/HTML代码


    curl -s https://get.httpsok.com | bash -s 'your token'







安装成功后，脚本会自动检测一次系统中的nginx证书，并同步到控制台。


DNS解析配置根据脚本运行的实际情况，添对应的的DNS解析记录。


SSL证书自动续签就已经成功，登录控制台可以查看自己的证书。


适合做网站用自动搞定ssl证书申请续期配置等繁琐步骤，并且同步到httpsok网站，非常方便。
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
