acme云服务器生成证书_Let's Encrypt泛域名证书生成 acme.sh免费申请使用配置 地表最强教程...

这博客越来越卡,从统计数据了解到跳出率差不多 85% ,新用户进入差不多要 5 秒左右,简直卡的不行。感觉我迟早要升级服务器配置。但是在升级前,想先将图片做好对象存储。在配置阿里云 OSS 对象存储之前需要准备好一个泛域名证书。

了解到使用 acme.sh 可以免费生成 Let's Encrypt 泛域名证书,然后自己操作一番,步骤虽然多,但只要操作一次以后就一劳永逸,只要需要填写证书,就可以用他们。

准备

需要准备好一台服务器,这里当然使用我安装宝塔面板的网站服务器。

其次要给一个域名生成证书, Let's Encrypt 要验证域名的所有权。毕竟不能随便给个域名生成证书,然后配置还希望它有效吧。

Let’s Encrypt` 支持通过 DNS 解析一条 TXT 记录来验证。 我使用的方法也是这种,因为该脚本acme.sh 提供了API快速设置。(后面会提)

但是这API并不是每个人都能使用,这里我的域名服务器是阿里云DNS,这里有点特殊,每个人可能不一样。如果你也在阿里云购买的域名,基本按照以下操作没问题的。如果不是在其他地方购买的,比如 GoDaddy 或者 Namesilo 等等,acme.sh 都有提供方法设置。具体后面见列表。

安装

这里我通过 xshell 远程登录到服务器,然后输入下面命令安装脚本。随便啥位置都行。

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

不出意外,你会看到如下界面内容。

开通阿里云AccessKeys子账户

前面说了阿里云DNS可以使用它们的API,可以看看你的DNS服务器在不在里面。我仔细看了,就算不在其中,通过一些方法也能使用其 DNS API ,所以不用放弃。

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"

export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"

在里面可以找到,要使用此API,需要如上两个值。这两个值需要开通阿里云AccessKeys ,戳这里开通 。

如果你是第一次开通,并且没有开通子账户,会出现如下界面。其实 AccessKeys 并不是我第一次使用,以前使用都没用子账户,这次准备使用子账户。

接着一直往下点击就是了。

不出意外我们进入总览界面,接着创建一个新用户,毕竟我们目的就是这。

取好名字,然后看你需求勾选,这里我并不需要这新用户登录界面,只要能在代码中使用 Key 就行。

完成后出现如下内容,一定要记住其中的 AccessID 和 AccessKeySecret ,上面脚本中要填写的也就是这两个值。

这一步点击完成后,AccessKeySecret 就不会再次出现,万一 万一 你弄丢了,也没事 ,再次生成一对就行,但是你用到他们的地方都要替换成新的。

现在还不能直接将值填写进去使用,因为还要给这个新用户赋予权限。

搜索 DNS 将 `AliyunDNSFullAccess ` 添加过去,其他不用就这一个可以了。最后点击确定

配置API

输入命令,修改 .bashrc 文件,将如上代码添加进去。记得修改成自己的 key 和 value 。

vim ~/.bashrc

这里插一句,如果 vim 指令不清楚的,我写详细点,懂的人不用看。

输入如上命令后

i

复制如上代码,用方向键控制到相应位置,然后右键粘贴

Esc

:wq

出来后重新加载文件

source ~/.bashrc

生成泛域名证书

这里比较简单,就一行命令,记得替换成你自己的域名,两个位置都要替换。

acme.sh --issue --dns dns_ali -d guozh.net -d '*.guozh.net'

成功后界面上有文件的存放地址

可以进去看看

cd /www/server/panel/vhost/cert/guozh.net/

有以下几个文件

-rw-r--r-- 1 root root 1648 Jul 12 16:27 ca.cer

-rw-r--r-- 1 root root 3563 Jul 12 16:27 fullchain.cer

-rw-r--r-- 1 root root 1915 Jul 12 16:27 guozh.net.cer

-rw-r--r-- 1 root root 558 Jul 12 16:27 guozh.net.conf

-rw-r--r-- 1 root root 980 Jul 12 16:26 guozh.net.csr

-rw-r--r-- 1 root root 220 Jul 12 16:26 guozh.net.csr.conf

-rw-r--r-- 1 root root 1675 Jul 12 16:26 guozh.net.key

其中证书文件 fullchain.cer 密钥文件 guozh.net.key 以后在使用别人服务时要填写SSL证书内容就是这两个。

前面说了Let’s Encrypt` 支持通过 DNS 解析一条 TXT 记录来验证。 但是我们在整个安装和生成过程并没有看到啥时候添加了TXT记录,其实有的,如果在安装过程中仔细看日志,就能看到先是 Add 然后 Check 最后 Remove 。

因为我这域名在阿里云购买的,阿里云给域名添加解析能看到记录,自己去登录控制台查看域名的解析记录就会发现。下图是我的。

证书续期

Let's Encrypt 证书的有效期是三个月。但我们通过脚本acme.sh启动就不用担心,因为它写入了定时命令。用 crontab -l 列出定时任务。

后面三个看运行的命令估计与什么日志有关,第一个是我们要看的。从命令看,每天 0 点 13 分这脚本会做点啥事,不知道是重启还是续期之类的,总之不用担心。

好的,一切搞定。替换以前的证书,另开一篇文章吧,如果有需求可以关注。

如果帮到你,麻烦点个赞可以吗。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值