前言

最近迷上了Sealos,北京的服务器是十分的好用;部署了Alist之后可惜没有备案,一会就无法访问了。(我要拿这个水两篇哈哈哈)

悲伤!

但我又有了想法:使用Openfrp加上原本服务器提供的终端实现访问,可是没有Https加密就没有安全感。

网上搜了Let’s EnCrypt的有关方法,要么就是需要Linux,要么就是在线生成(而且好慢!);通过笑花落的这篇文章,我终于恍然大悟了!(其实就是参考文章)

该篇文章本质上就是用Git Bash的特性使用acme.sh进行证书签发。

下面记录我申请域名的过程:

记录过程

下面有些So easy的过程(如安装Git)请自行搜索。

安装Git

点击https://git-scm.com/download/win下载并安装Git。

个人感觉下载上面的无脑一点。

获取acme.sh本体

这里提供两种方法:

(一)直接下载安装包

下载这个文件到随便一个什么地方后解压。

(二)直接用Git克隆

在随便一个什么目录下右键打开Git bash执行以下指令:

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

总之你就得到了acme.sh这个文件夹。

安装

进入acme.sh文件夹,右键,选择Open Git Bash here

执行如下命令:

1
2
# 将my@example.com替换成自己的邮箱
./acme.sh --install -m my@example.com

稍等一会就好。

开始申请证书!

我是用的Cloudflare托管域名,而其刚刚好能与acme.sh进行完美配合实现自动化操作,因此下文使用的就是dnsapi方法。DNSOD也可以用!
其他方式验证域名的详见https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E

对于Cloudflare,dnsapi可以通过调用Cloudflare的全局API自动实现对域名txt解析验证。

首先登陆Cloudflare,登陆后打开https://dash.cloudflare.com/profile/api-tokens

点击下面的Global API Key旁边蓝框的View按钮,输入你登陆账号的密码并进行人机验证会获取一串东西,把他记录下来;

回到Git bash,输入以下命令:(key项的引号里填上一步获取的一串东西,Email填你注册账号的邮箱)

1
2
export CF_Key=""
export CF_Email=""

然后执行以下命令就可以了!(-d可以有多项,这里的示范申请example.com的根域与泛域名证书)

1
./acme.sh --issue --dns dns_cf -d example.com -d '*.example.com'

获取证书文件

一般来说,acme.sh生成的证书文件生成在C:\Users\(用户名)\.acme.sh下。对应域名的证书会储存在对应域名为名的文件夹里。

当同时配置了泛域名和根域的时候,也许只需要使用根域里面文件夹的相关文件即可。

根据自己的需要使用相应文件就好。

我写的这篇文章是一个使用的示例也是水的好方法