如何免费申请通配符SSL证书

流氓凡 资源分享 2022-07-27 184 0

使用OHTTPS创建证书

首先需要免费注册一个账号在OHTTPS,然后点击创建证书,选择泛域名点击下一步提示如下:

image.png

需要注意的是,它让我们添加的解析记录是 _acme-challenge.f.wslmf.com 实际上以腾讯云域名解析为例是添加的记录_acme-challenge.f 当然每家的解析记录添加方式不同

具体情况具体分析,一般来说添加了记录后1分钟之内点击下面的验证解析记录就OK了,很长时间验证都不通过的话那就确定下自己的解析记录添加的是否正确了


解析完成后点击创建证书等一会就好了,创建完成后就会发现证书有效期是3个月,如果你不删除上面的解析记录,平台会再到期前一个月自动为你更新证书,还是很方便的。

接下来是证书添加到宝塔的样子:

image.png

自动部署

ohttps支持很多的自动部署方式,但是注意是收费的,当然新用户注册平台会赠送1000余额也足够用很长时间了

image.png


使用Nginx容器镜像

在OHTTPS中证书配置完成后,我们需要构建自己的nginx容器镜像。这里需要用到OHTTPS官方提供的ohttps/ohttps-nginx容器镜像作为基础镜像,

这个镜像也是基于nginx官方镜像构建的,添加了证书更新功能,证书从服务器拉取过来之后,会存在容器内部的/etc/nginx/certificates文件夹下,证书文件具体存放位置如下:

  • 件私钥文件cert.key:

`/etc/nginx/certificates/${证书ID}/cert.key`
  • 证书文件fullchain.cer:

`/etc/nginx/certificates/${证书ID}/fullchain.cer`

其中证书ID是我们创建完证书后生成的证书ID,在证书管理页面可以看到。然后我们可以在我们自己的nginx配置文件中使用证书文件:

ssl_certificate     /etc/nginx/certificates/cert-o17xk289ev09d43l/fullchain.cer;
ssl_certificate_key /etc/nginx/certificates/cert-o17xk289ev09d43l/cert.key;

设置完nginx配置文件nginx.conf之后,我们需要编辑我们自己的Dockerfile文件,用以构建我们自己的镜像。在Dockerfile文件中,需要设定两个环境变量:

  • PUSH_NODE_ID:就是我们创建的部署节点的ID,在部署节点管理页面可以看到

  • PUSH_NODE_TOKEN:就是我们创建部署节点时点击生成的32位的Token

下面是Dockerfile文件:

FROM ohttps/ohttps-nginx:1.0.1
WORKDIR /etc/nginx
COPY ./nginx.conf /etc/nginx/nginx.conf
ENV PUSH_NODE_ID='push-k7l13g8j30xm9qp4'
ENV PUSH_NODE_TOKEN='0bfff9fc3024453819c4f107a397ca86'

Dockerfile文件编辑完成之后,就可以生成镜像,然后我们就可以使用我们自己的镜像启动我们自己的nginx容器。这样就实现了在证书到期前,自动更新证书,并自动将证书推送至Nginx容器中,永远都不需要再担心证书过期了。


评论