怎么用acme.sh进行ssl申请和自动续约?
admin
2023-02-22 06:40:05
0

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

安装

只需要用任意用户执行

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

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

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

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

1.文件认证

acme.sh  --issue  -d <域名>  --webroot  <网站根目录>
acme.sh  --issue  -d demo.example.com  --webroot /home/wwwroot/demo.example.com/

2.暂时监听80端口

yum install socat
acme.sh  --issue -d demo.example.com --standalone

3. DNS方式

手动方式

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

acme.sh --issue --dns -d demo.example.com

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

acme.sh --renew -d demo.example.com

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

自动方式

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

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

腾讯云

参考:
操作方法

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

然后登录远程服务器

export DP_Id="1234"
export DP_Key="sADDsdasdgdsf"
acme.sh --issue --dns dns_dp -d demo.example.com

阿里云

参考:
操作方法

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

export Ali_Key="AccessKeyId"
export Ali_Secret="AccessKeySecret"
acme.sh --issue --dns dns_ali -d demo.example.com

证书的安装

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

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

acme.sh  --installcert  -d  demo.example.com   \
        --key-file   /usr/local/nginx/ssl/demo_example_com.key \
        --fullchain-file /usr/local/nginx/ssl/demo_example_com.cer \
        --reloadcmd  "/usr/local/nginx/sbin/nginx -s reload"

apache服务器的配置

暂无

nginx服务器的配置

nginx 设置类似如下

  server {
        listen 443 ssl;
        ssl on;
        ssl_certificate  /usr/local/nginx/ssl/demo_example_com.cer; # 这里指向证书安装的位置
        ssl_certificate_key  /usr/local/nginx/ssl/demo_example_com.key;
     }

让你的SSL更安全

参考:https://mikemiao111.com/nginx%E5%A2%9E%E5%BC%BAhttps%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE/

nginx默认采用1024位的加密算法,如果需要的话可以使用2048位的代替,这样可以让加密更安全

首先生成 zjk_zoollcar_top.pem 文件到指定目录

openssl dhparam -out /usr/local/nginx/ssl/demo_example_com.pem 2048

然后在nginx配置文件中设置

  server {
        listen 443 ssl;
        ssl on;
        ssl_certificate  /usr/local/nginx/ssl/demo_example_com.cer;
        ssl_certificate_key  /usr/local/nginx/ssl/demo_example_com.key;
        ssl_dhparam  /usr/local/nginx/ssl/demo_example_com.pem; #新增
     }

可以用下面的网站测试SSL安全性

https://www.ssllabs.com/ssltest/

更新 acme.sh

目前由于 acme 协议和 letsencrypt CA 都在频繁的更新, 因此 acme.sh 也经常更新以保持同步.

升级 acme.sh 到最新版 :

acme.sh --upgrade

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

acme.sh  --upgrade  --auto-upgrade

之后, acme.sh 就会自动保持更新了.

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

acme.sh --upgrade  --auto-upgrade  0

相关内容

热门资讯

谷歌被罚9亿欧元后,特朗普称欧... 当地时间7月23日,欧盟委员会指控美国谷歌公司违反欧盟《数字市场法》,对其处以8.9亿欧元罚款。这一...
14对14,中国反击欧盟,干净... 对于欧盟的指手画脚,中国第一时间反击了。14:14。干净利落,来而不往非礼也。国际博弈,从来如此:没...
风未到,人已行!凌晨不眠!一场... 7月24日晚,台风“红霞”持续逼近,市应急管理局五楼会议室灯火通明,市应急管理局党委书记、局长李见秋...
省自然资源厅部署12号台风“红... 受今年第12号台风“红霞”影响,我省中部和南部地区有一轮强降雨过程,部分地区有较高的地质灾害风险。自...
长虹美菱获得发明专利授权:“一... 证券之星消息,根据天眼查APP数据显示长虹美菱(000521)新获得一项发明专利授权,专利名为“一种...
女童毕业照走光维权反遭辱骂,是... 毛乐然(南京传媒学院)杭州一家摄影机构拍摄的女童毕业照出现走光问题,家长维权反遭恶语相向,令人愤慨。...
给“AI”发身份证!国内首个智... 《人工智能 智能体互联》系列国家标准应用推进专题会议近日在北京中关村展示中心召开。现场发布GB/Z1...
探秘科技殿堂 点亮科学梦想—中... 为拓宽青少年科学视野,丰富课外实践内容,激发学生科技创新思维与探索精神,7月23日,原州区中河乡中心...
小米申请音频处理方法专利,能够... 国家知识产权局信息显示,北京小米移动软件有限公司申请一项名为“音频处理方法、装置、电子设备、存储介质...
中纪委最新通报:上半年立案省部... △图1:全国纪检监察机关处分人员按职级划分图△图2:全国纪检监察机关运用“四种形态”占比图2026年...