# 使用Let's Encrypt 生成免费的https证书且可自动续期

Let's Encrypt泛域名证书生成 acme.sh免费申请使用配置 文章来源 (opens new window)

# 安装acme.sh脚本

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

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

安装acme.sh

# 开通阿里云AccessKeys子账户

不同的服务器运营商会有各自的API 去配置使用 参考链接 (opens new window)

# 阿里云ECS服务器的配置参数如下
export Ali_Key="-------------------"
export Ali_Secret="--------------------------"

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

# 具体操作如下

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

安装acme.sh

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

安装acme.sh
安装acme.sh

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

安装acme.sh

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

安装acme.sh

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

安装acme.sh
安装acme.sh

export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
  • 现在还不能直接将值填写进去使用,因为还要给这个新用户赋予权限。

安装acme.sh

  • 搜索 DNS 将 AliyunDNSFullAccess 添加到右边的那一栏,其他不用就这一个可以了。最后点击确定

安装acme.sh

# 开始在Nginx配置API

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

vim ~/.bashrc

安装acme.sh

TIP

添加下面两条数据进上图配置文件中
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
具体操作如下

 # 输入英文字母i  启用编辑模式
 i

 # 粘贴进去放到如图位置

 # 保存退出 
 Esc 
 :wq

 #退出来后重新加载文件
 source ~/.bashrc

# 生成泛域名证书

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

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

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

安装acme.sh

# 关于证书续期

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

# 在配置Nginx 的 ssl_certificate

server {
        listen       443 ssl;
        server_name  localhost;
        location / {
             index index.html index.htm;
         }
        ssl_certificate      /root/.acme.sh/xmanv.com/fullchain.cer;
        ssl_certificate_key  /root/.acme.sh/xmanv.com/xmanv.com.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
    }

# 证书到期手动续期

强制更新证书

 /root/.acme.sh/acme.sh --cron --home   /root/.acme.sh  --force

重新启动NGINX服务器

最后更新时间: 2/28/2023, 8:33:37 PM