怎么用acme.sh进行ssl申请和自动续约?

  

本文以demo.example.com为例,详细介绍了使用acme.sh进行ssl申请和自动续约的方法

安装

只需要用任意用户执行

 <代码类=" language-sh "> curl https://get.acme。上海| sh  

极致。sh会安装到<代码> ~/.acme.sh/目录下,并创建新的自动计划(计划)在凌晨0点检查所有证书

生成证书的方式主要有三种

    <李>网站文件方式,适合于已经部署好apache 或<代码>是<代码> nginx 服务器的情况李 <>李临时监听80端口方式,适合于没有部署好服务的服务器李 <>李手动配置DNS,需要有手动配置DNS的权限,适合没有服务器或是不想更改服务器的情况李

1。以前文件认证

<> <代码类=" language-sh ">极致。sh,——问题,- d & lt;域名比;,——webroot & lt;网站根目录比;   极致。sh,——问题,- d demo.example.com,——webroot/home/wwwroot/demo.example.com/

2。暂时监听80端口

 <代码类=" language-sh "> yum安装socat
  极致。sh,问题- d demo.example.com——独立的 

3。DNS方式

手动方式

首先获得认证需要的解析记录

 <代码类=" language-sh ">极致。sh -问题- dns - d demo.example.com  

然后在dns服务商中添加记录
最后重新生成证书

 <代码类=" language-sh ">极致。sh -恢复- d demo.example.com  

使用这种方式极致。sh将无法自动更新证书,每次都需要手动再次重新解析验证域名所有权。

自动方式

dns方式的真正强大之处在于可以使用域名解析商提供的api自动添加txt记录完成验证

首先需要在云上申请有dns配置权限的账号密码

腾讯云

参考:
操作方法

在dnspod官网上申请
https://www.dnspod.cn/Login?r=/控制台

然后登录远程服务器

 <代码> export DP_Id=?234”;
  出口DP_Key=皊ADDsdasdgdsf"
  极致。sh -问题- dns dns_dp - d demo.example.com  

阿里云

参考:
操作方法

在阿里云官网登录添加拥有dns配置权限的子账户https://ram.console.aliyun.com/overview
然后登录远程服务器

 <代码> export Ali_Key=癆ccessKeyId"
  出口Ali_Secret=癆ccessKeySecret"
  极致。sh -问题- dns dns_ali - d demo.example.com  

证书的安装

默认生成的证书都放在安装目录下:~/.acme.sh/

需要将证书“拷贝”到自定义位置,方便配置,这里的复制需要用极致。sh的自带工具用于日后自动更新

 <代码类=" language-sh ">极致。sh,——installcert, - d, demo.example.com,\
  ,,,——密钥文件大敌;/usr/local/nginx/ssl/demo_example_com。关键\
  ,,,,——fullchain-file/usr/local/nginx/ssl/demo_example_com。cer \
  ,,,——reloadcmd大敌;“/usr/地方/nginx/sbin/nginx - s reload"  

apache服务器的配置

暂无

nginx服务器的配置

nginx设置类似如下

 <代码>,服务器{
  ,,,443年,听ssl;
  ,,,,ssl> openssl dhparam治疗/usr/local/nginx/ssl/demo_example_com。pem 2048  

然后在nginx配置文件中设置

 <代码>,服务器{
  ,,,443年,听ssl;
  ,,,ssl>极致。sh -升级 

如果不想手动升级,可以开启自动升级:

 <代码类=" language-sh ">极致。sh,——升级,auto-upgrade  

之后,极致。上海就会自动保持更新了。

你也可以随时关闭自动更新:

 <代码类=" language-sh ">极致。sh——升级,auto-upgrade, 0  

  

怎么用acme.sh进行ssl申请和自动续约?