本文以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 代码>