惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LINUX DO - 热门话题
Stack Overflow Blog
Stack Overflow Blog
B
Blog
WordPress大学
WordPress大学
Project Zero
Project Zero
P
Palo Alto Networks Blog
阮一峰的网络日志
阮一峰的网络日志
博客园 - 司徒正美
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
小众软件
小众软件
T
Tailwind CSS Blog
Forbes - Security
Forbes - Security
F
Full Disclosure
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hacker News: Ask HN
Hacker News: Ask HN
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
Cisco Talos Blog
Cisco Talos Blog
G
Google Developers Blog
J
Java Code Geeks
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recorded Future
Recorded Future
O
OpenAI News
Spread Privacy
Spread Privacy
MongoDB | Blog
MongoDB | Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cybersecurity and Infrastructure Security Agency CISA
S
Securelist
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
IT之家
IT之家
U
Unit 42
腾讯CDC
S
Security Affairs
C
Cisco Blogs
Schneier on Security
Schneier on Security
The Last Watchdog
The Last Watchdog
B
Blog RSS Feed
宝玉的分享
宝玉的分享
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Security @ Cisco Blogs
Cyberwarzone
Cyberwarzone
T
The Blog of Author Tim Ferriss

無名小栈

如何实现一个自动化友链流程 | 無名小栈 如何给博客添加一个跳转提示页 | 無名小栈 关于 DailyHotApi 的重构 | 無名小栈 Curve 主题文档 - 快速开始 | 無名小栈 初识 Hono( 一 ) | 無名小栈 Markdown-it 如何自定义文中的标签 | 無名小栈 Curve 主题文档 - 标签使用 | 無名小栈 去除了无意义的 PWA | 無名小栈 关于我开发的那些项目,和这个博客 | 無名小栈
使用 acme.sh 生成泛域名 SSL 证书
無名 · 2024-05-14 · via 無名小栈

文章摘要 FakeGPT

加载中...|

此内容根据文章生成,并经过人工审核,仅用于文章内容的解释与总结 投诉

缘由 ​

最近网站证书到期了,由于以前一直使用的是 来此加密,但是不知道最近是由于加入了会员系统还是使用的用户多了,总之就是申请证书的速度变得非常非常慢,并且还得去服务商那里更改 DNS 的记录,每次都要这样折腾一番,太麻烦了,于是就去找了找,发现了这个脚本:acme.sh,十分好用,并且申请的速度十分快,而且支持泛域名,于是特此记录一下。

安装并配置 ​

INFO

事先说明,我这里使用的是 Windows 系统,不过按照官方文档来说,使用 Linux 会更简单

拉取仓库 ​

拉取仓库前,请确保你已经正确的安装了 Git 以及 curl,可以通过以下命令验证安装:

然后执行以下命令拉取仓库:

bash

git clone https://github.com/acmesh-official/acme.sh.git

拉取过程可能会因为网络问题出错,可以多试几次。

拉取成功之后,进入仓库目录:

然后执行以下命令安装:

WARNING

这里需要注意,如果你使用的是 Windows 系统,那么你需要使用 Git Bash 来执行命令,而不是 CmdPowerShell

出现 OK 之后,即代表安装完成( 安装过程可能会出现一些错误,一般情况下,忽略即可 )

签发证书 ​

准备步骤完成后,就可以开始签发证书了。

配置环境变量 ​

使用 acme.sh 的很大一个原因是因为它支持使用大多数服务商的 API 接口来实现自动添加 txt 记录完成验证。

我这里使用的是腾讯云的 DNSPod,并且文档中还说明了,acme.sh 目前还支持 cloudflare, cloudxns, godaddy 以及 ovh 等数十种解析商的自动集成。

这里我们只需要去 DNSPod控制台 中申请一个 DNSPod Token

新建 DNSPod Token新建 DNSPod Token

获取到 Token 之后,就可以在 acme.sh 的配置文件中配置了:

bash

export DP_Id="你的 DNSPod 用户 ID"
export DP_Key="你的 DNSPod API Token"

更多 API 用法可以去查看 官方文档,此处不再赘述。

获取证书 ​

到了最简单的一步,直接使用一行命令即可获得证书:

请将 yourdomain.com 替换成你要添加的域名

bash

./acme.sh --issue --dns dns_dp -d "yourdomain.com" -d "*.yourdomain.com"

来详细说明一下这个命令干了什么:

  • --issue 是告诉 acme.sh 你想要发行(也就是获取)一个新的证书。
  • --dns dns_dp 表示你想要使用 DNS 的方式来验证域名所有权,并且指定了使用 DNSPod 提供的 DNS API。
  • -d yourdomain.com 表示你想要为该域名获取证书。
  • -d *.yourdomain.com 表示你还想要为该域名的所有子域名(泛域名)获取证书。

以上步骤全部完成后,acme.sh 就会输出你的证书的存放位置,比如:

证书位置证书位置

通常情况下,fullchain.cer 文件用作证书文件,而 yourdomain.com.key 文件用作私钥文件

生成 RSA 算法证书 ​

这算是一个可选项,主要是我在将证书的私钥文件填入又拍云时,出现了错误信息,而后得知又拍云不支持 ECC 算法的私钥。

于是需要更改一下上面的生成命令,默认情况下,acme.sh 会生成使用 ECC 密钥的证书,你可以通过指定 --keylength 选项来设定密钥长度,让其生成 RSA 算法的证书,例如使用 2048 位或 4096 位:

bash

./acme.sh --issue --dns dns_dp -d "yourdomain.com" -d "*.yourdomain.com" --keylength 2048