Ssl证书申请与自动续签

转载自我师兄的博客,安利一波:http://zbrid.com/post/ssl%E8%AF%81%E4%B9%A6%E7%94%B3%E8%AF%B7%E4%B8%8E%E8%87%AA%E5%8A%A8%E7%BB%AD%E7%AD%BE/

利用certbot 实现SSL证书自动续签功能
最近使用hugo在阿里云上搭建了一个个人博客,在使用博客的时候想到干脆把https也上上去吧,然后各种奔波,只为了一款比较好用的免费的SSL证书。当然啦,免费的当然要推崇Let’s encrypt了。好了,话不所说了。上干货~

Certbot
certbot 是一个申请证书并帮助我们实现自动续签的软件, 其主页地址 官网 ,官网当中有很多关于安装与使用的内容,为了简便与英文不好阅读的关系,简单记录下使用方法。
1、下载并安装certbot
1
2
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
2、停止nginx
1
因为certbot 在创建证书期间是不能开启80端口的,因此我们这里需要关闭nginx
3、生成证书
1
./certbot-auto certonly –standalone –email 邮箱 -d 域名1 -d 域名2
这个时候certbot证书会提示你是否同意相关协议,此时输入 A 表示argee 同意,接下来会询问你是否生成证书,输入Y 同意即可。在这里不过要注意些事情: * 域名必须是备案成功了的。 * 域名解析须是指向某一台服务器的,解析类型为A * 证书生成的地址为/etc/letsencrypt/live/

我几次生成证书都提示我域名404错误,最后在阿里云上才发现是因为没有解析在服务器上。

4、nginx配置
1
2
3
4
# TLS 基本设置
ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;#证书位置
ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;# 证书位置
至此,ssl证书便算是可以了,最后一步便是加入计划任务里,以免其自动续期

5、自动续期
使用crontab -e编辑计划任务,添加0 0,12 * * * python -c ‘import random; import time; time.sleep(random.random() * 3600)’ && certbot renew 即可。

最后,如果只是想安装web服务器插件的类型的certbot的话,在certbot的主页选择你所对应的web服务器与服务器系统版本根据其步骤进行便可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要为 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、付费专栏及课程。

余额充值