acme申请泛域名SSL证书

网上有太多的例子教程了,在这里只做一个简单的记录以便自己方便查询。

以下以阿里云为例

1. 登录阿里云管理后台创建Accesskey,记录Accesskey ID和Access Key Secret以备用。

2. 下载acme和设置access key。

安装

curl https://get.acme.sh | sh

在/root/.acme.sh下创建account.conf并添加如下内容:

3. 执行如下命令生成泛域名SSL证书并安装证书

acme.sh --issue --dns dns_ali -d *.3day.top -d 3day.top
./acme.sh --installcert -d *.3day.top --keypath /usr/local/openresty/nginx/conf/ssl/www.3day.top.key --fullchainpath /usr/local/openresty/nginx/conf/ssl/www.3day.top.crt --reloadcmd "nginx -s reload"

 

 

备注:

godaddy access key申请地址: https://developer.godaddy.com/keys/

要为 Harbor 自动申请 SSL 证书,可以使用 cert-manager 工具。cert-manager 是一个 Kubernetes 上的证书管理工具,可以自动为您的应用程序生成和更新 SSL 证书。 以下是为 Harbor 自动申请 SSL 证书的步骤: 1. 安装 cert-manager 工具。可以使用以下命令安装: ``` kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.0.4/cert-manager.yaml ``` 2. 创建一个 Issuer。Issuer 是一个 Kubernetes 资源,用于定义证书颁发机构 (CA) 的详细信息。可以使用以下 YAML 文件创建 Issuer: ```yaml apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: letsencrypt namespace: cert-manager spec: acme: email: your-email@example.com server: https://acme-v02.api.letsencrypt.org/directory privateKeySecretRef: name: letsencrypt solvers: - http01: ingress: class: nginx ``` 在此 YAML 文件中,您需要将 `your-email@example.com` 替换为您的电子邮件地址。该文件使用 Let's Encrypt 作为证书颁发机构,因此您需要使用 Let's Encrypt 帐户来签署证书申请。此文件还配置了 HTTP-01 验证器,以便 cert-manager 可以验证您拥有该域名。 3. 创建一个 Certificate。Certificate 是一个 Kubernetes 资源,用于定义 SSL 证书的详细信息。可以使用以下 YAML 文件创建 Certificate: ```yaml apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: harbor-cert namespace: harbor spec: secretName: harbor-tls dnsNames: - your-domain.com issuerRef: name: letsencrypt kind: Issuer ``` 在此 YAML 文件中,您需要将 `your-domain.com` 替换为您要为其颁发证书域名。此文件还指定了要使用的 Issuer。 4. 创建一个 Ingress。Ingress 是一个 Kubernetes 资源,用于将 HTTP(S) 流量路由到您的应用程序。可以使用以下 YAML 文件创建 Ingress: ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: harbor-ingress namespace: harbor annotations: kubernetes.io/ingress.class: nginx cert-manager.io/issuer: "letsencrypt" spec: tls: - secretName: harbor-tls hosts: - your-domain.com rules: - host: your-domain.com http: paths: - path: / pathType: Prefix backend: service: name: harbor port: name: http ``` 在此 YAML 文件中,您需要将 `your-domain.com` 替换为您的域名。此文件还使用了之前创建的 Issuer 和 Certificate。 5. 部署 Harbor。可以使用 Helm 安装 Harbor,如以下命令所示: ``` helm install harbor harbor/harbor --version=1.5.2 -f harbor-values.yaml ``` 在此命令中,`harbor-values.yaml` 是一个 YAML 文件,用于配置 Harbor 的各种选项。 这样,您就可以使用 cert-manager 工具自动申请和更新 Harbor 的 SSL 证书了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值