前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux-使用 ACME 申请证书并自动续期

Linux-使用 ACME 申请证书并自动续期

作者头像
kdyonly
发布2024-08-07 16:39:25
3260
发布2024-08-07 16:39:25
举报
文章被收录于专栏:个人编程笔记

目前 HTTP2.0 作为新一代的 WEB 协议已经日渐取代使用明文传输的 HTTP 协议,以保障站点数据安全并提高 WEB 服务体验。浏览器要求必须启用 HTTPS 才可以接入 HTTP2,故而我们想要体验 HTTP2 须要有一张 SSL 证书。以下是我对使用 ACME 脚本申请证书并自动续期详细步骤的记录。

1.安装 ACME 脚本,并更换默认证书。

代码语言:javascript
复制
// 安装 ACME 脚本
curl https://get.acme.sh | sh

// 设置acme.sh别名,方便后续使用
alias acme.sh=~/.acme.sh/acme.sh

// 设置 ACME 脚本自动更新
acme.sh --upgrade --auto-upgrade

// 由于 ZeroSSL 作为默认 CA,必须先注册帐户才能颁发新证书,故而更换为 Letsencrypt。
acme.sh --set-default-ca --server letsencrypt

2.域名验证 如果没有公网 IP,可使用 DNS 验证,具体步骤遵循各域名服务商指导。该方式可以申请多域名、泛域名证书,达到很多域名可以共用一张证书的目的,但无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。

如果有一台有公网 IP 的服务器即可通过下列方式进行验证,下面以 jike.dev 为例进行验证,实际使用中需要把 jike.dev 更换为你的域名和网站服务目录。

代码语言:javascript
复制
// 若已搭建 Nginx 服务,可使用 Nginx 验证
acme.sh --issue -d jike.dev -d www.jike.dev --nginx

// 有的时候找不到 Nginx 的 conf 地址,可自定义地址。
acme.sh --issue -d jike.dev --nginx /etc/nginx/conf.d/jike.dev.conf

// 若已搭建网络服务,可使用 HTTP 验证
acme.sh --issue -d jike.dev -d www.jike.dev --webroot /home/wwwroot/jike.dev/

// 如果 80 端口空闲,ACME 脚本可临时监听在 80 端口完成验证
acme.sh --issue -d jike.dev -d www.jike.dev --standalone

3.安装证书到指定文件夹 为了保证证书后期的自动更新,不要直接使用或拷贝默认生成的证书,而要使用 acme.sh --install-cert 命令指定目标位置。下面以 jike.dev 为例进行安装,实际使用中需要把 jike.dev 更换为你的域名和网站服务目录。

代码语言:javascript
复制
// reloadcmd命令使证书更新后重启网络服务
acme.sh --install-cert -d jike.dev \
    --key-file  /root/jike.dev.key  \
    --fullchain-file  /root/jike.dev.pem  \
    --reloadcmd  "service nginx force-reload"

4.更新证书 目前证书无需任何操作会在 60 天以后自动更新,若想要停止某域名证书的自动更新使用 acme.sh --remove -d jike.dev 命令,或者在安装目录中删除对应域名目录即可。

目前 ACME 脚本应该会在一个月后自动更新证书,如果未能自动更新,我在这里提供一个排查思路。 运行 acme.sh --renew -d jike.dev --force 强制更新域名证书,如果更新失败并返回 Invalid status, ···/well-known/acme-challenge/··· was rejected. Our fetch received an HTTP status code of 404. 可以检查一下 Nginx 是否将所有 80 端口访问全部重定向至 443。 如果全部重定向至 443,需要保留 /.well-known/acme-challenge/这个路径的 80 端口访问。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档