https免费证书获取方式
一般来说,小项目确实没有https证书需求的。
但是,在某些场景中(比如docker registry使用),就需要默认使用http证书,不然就需要增加安全信任配置, 一个两个还好,多了就麻烦了。
所以这里记录两个很简单的https证书获取方式(两种证书都是从Let’s Encrypt中签发,支持泛域名,默认有效期3个月,会自动续期):
1. 使用acme.sh脚本获取证书
简单的来说,这就是个linux脚本,安装后配置一下,就会自动获取证书,并且也会自动更新。还是很方便的。
首先下载安装acme.sh, 记得修改下邮箱地址
执行curl https://get.acme.sh | sh -s email=my@example.com
我这里是阿里云dns
接着切换到用户根目录,/root/.acme.sh,使用以下命令即可生产证书。这里为两个域名同时生成了证书:
1
2
3
4
5
6
7
export Ali_Key="LTAI5tE4B8kKTwHkjWT3sVGc"
export Ali_Secret="bv6SWnP9lqwm4rrryW5IOcWTAn31nIi"
# 切换为letsencrypt证书提供商
acme.sh --set-default-ca --server letsencrypt
# 生成证书
acme.sh --issue --dns dns_ali -d dockerpull.local.mtils.cn -d dockerreg.local.mtils.cn
安装说明也参考官网介绍即可,很简单的
2. k8s中,使用cert-manager获取免费证书
这个模式只能在k8s集群中安装,也能实现自动续签和签名。大概来说流程如下:
-
安装cert-manager
-
安装aliyundns-webhook
-
k8s中配置
ClusterIssuer即可使用
参考资料如下
This post is licensed under
CC BY 4.0
by the author.