首页 acme.sh

acme.sh

2024-03-31 17:35:56 413 0

嵌入框架

 

ACME.sh 是一个轻量级的开源工具,用于自动化管理和部署 HTTPS 证书。它有如下几个优势:

  1. 简单易用: acme.sh 设计简洁,易于安装和配置。它提供了丰富的命令行接口,使得证书的获取、更新和部署变得十分简单,即使是对于不熟悉证书管理的用户也能轻松上手。

  2. 自动化: acme.sh 支持自动化证书签发和更新过程,无需手动干预。通过使用定时任务或集成到 CI/CD 流水线中,可以实现证书的自动续期,减少了因证书过期而造成的服务中断或安全漏洞的风险。

  3. 支持多种证书颁发机构: acme.sh 支持 Let's Encrypt、ZeroSSL 等多个证书颁发机构,用户可以根据需求选择合适的证书颁发机构,满足不同的使用场景。

  4. 灵活性和可定制性: acme.sh 提供了丰富的参数和选项,用户可以根据自己的需求进行定制和配置。无论是证书的存储位置、验证方式还是证书类型,都可以根据实际情况进行灵活设置,满足各种复杂的使用场景。

  5. 社区活跃: acme.sh 是一个开源项目,拥有庞大的社区支持和活跃的开发团队。用户可以在 GitHub 上找到详细的文档和示例,也可以通过社区论坛或邮件列表获取帮助和支持,保证了使用 acme.sh 过程中的稳定性和可靠性。

官方中文文档: https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E

官网提供了多种方式安装。

大陆安装方法:

git clone https://gitee.com/neilpang/acme.sh.git
cd acme.sh
./acme.sh --install -m my@example.com

 

1.验证域名

      官方提供了多种方式,由于默认脚本会报超时,所以使用letsencrypt模式

2.生成证书

     脚本会自动在指定目录生成对应证书

3.定时任务更新

     按文档配置即可。

 

letsencrypt模式脚本:

1.nginx配置:主要是用于验证域名的所有权

   主要还需要创建目录: /etc/nginx/html/.well-known/acme-challenge

server {
    listen 80;
    server_name www.ezjsp.com ezjsp.com;
    location  /.well-known/acme-challenge/{
            root /etc/nginx/html/;
            allow all;
           default_type "text/plain";
       }
}

2.执行脚本 注意指定文件路径为上述nginx配置路径

acme.sh --server letsencrypt  --issue -d www.ezjsp.com -w /etc/nginx/html

3.获取证书:

/root/.acme.sh/www.ezjsp.com_ecc/www.ezjsp.com.csr

/root/.acme.sh/www.ezjsp.com_ecc/www.ezjsp.com.key

4.为域名配置证书

server {
                #SSL 访问端口号为 443
        listen 443  ssl;

         #填写绑定证书的域名
                server_name www.ezjsp.com ;

         #证书文件名称
                ssl_certificate /root/.acme.sh/www.ezjsp.com_ecc/www.ezjsp.com.cer;
         #私钥文件名称
                ssl_certificate_key  /root/.acme.sh/www.ezjsp.com_ecc/www.ezjsp.com.key;
      location xxx
}

5.配置定时任务  待验证

crontab  -e
0 0 1 */2 * /root/.acme.sh/acme.sh --server letsencrypt --issue -d www.ezjsp.com -w /etc/nginx/html  > /root/acme.log 2>&1

 

其他:遇到错误,一般情况下是 /.well-known/acme-challenge/ 配置不争取,可以手动在 /etc/nginx/html/.well-known/acme-challenge  放一个1.txt  在浏览器中 访问 /.well-known/acme-challenge/1.txt试试

 

 

 

https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients

用户留言