前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >acme.sh配置泛域名证书Let'sEncrypt

acme.sh配置泛域名证书Let'sEncrypt

作者头像
HHTjim 部落格
发布2022-09-26 10:34:31
1.8K0
发布2022-09-26 10:34:31
举报
文章被收录于专栏:HHTjim'S 部落格

acme.sh配置泛域名证书Let'sEncrypt

作者:matrix 被围观: 3,071 次 发布时间:2019-09-18 分类:Linux | 无评论 »

这是一个创建于 1078 天前的主题,其中的信息可能已经有所发展或是发生改变。

环境:

centos + dnspod.cn

acme.sh项目:https://github.com/Neilpang/acme.sh

安装

代码语言:javascript
复制
$ curl  https://get.acme.sh | sh

出现Install success!安装成功。

dns验证方式-获取域名dns token

这里使用域名解析服务商的token来进行域名拥有验证

在dnspod.cn上操作申请获取ID和token。

ssh执行命令设置变量,便于后面脚本读取。

代码语言:javascript
复制
$ export DP_Id="000000"
$ export DP_Key="26****************************ed"

dns:

代码语言:javascript
复制
$ export Ali_Id="000000"
$ export Ali_Key="26****************************ed"

dns获取api和key 进去申请AccessKey ID与Access Key Secret就好。

其他域名解析商的api token操作:

https://github.com/Neilpang/acme.sh/wiki/dnsapi

申请泛域名证书

为域名hhtjim.com申请证书。

代码语言:javascript
复制
$ source .bashrc #执行资源更新 确保acme.sh别名可用
$ acme.sh --issue --dns dns_dp -d hhtjim.com -d *.hhtjim.com

说明:

dns_dp 为dnspod ,如果是dns则为 dns_ali

前面-d参数指定根域名,后面-d指定子级泛域名

.hhtjim.com的证书只能支持通配符当前级别的域名,也就是xxx.hhtjim.com

如果要三级子域名就需要单独申请:.xxx.hhtjim.com,参数为-d xxx.hhtjim.com -d *.xxx.hhtjim.com

执行之后等待几分钟出现绿色文字提示key,cer证书所在位置就酸完成了。

代码语言:javascript
复制
The domain key is here: /root/.acme.sh/hhtjim.com/hhtjim.com.key

Your cert is in  /root/.acme.sh/hhtjim.com/hhtjim.com.cer 
Your cert key is in  /root/.acme.sh/hhtjim.com/hhtjim.com.key 
The intermediate CA cert is in  /root/.acme.sh/hhtjim.com/ca.cer 
And the full chain certs is there:  /root/.acme.sh/hhtjim.com/fullchain.cer

证书生成完成,使用的时候把证书移动到nginx配置相关目录。

nginx证书使用

代码语言:javascript
复制
server {
    listen 443;
    server_name www.hhtjim.com;
    root /htdocs/www.hhtjim.com;
    index index.html index.htm index.php;
    ssl on;

    ssl_certificate /certificate_file_PATH/hhtjim.com/fullchain.cer;
    ssl_certificate_key /certificate_file_PATH/hhtjim.com/hhtjim.com.key;
    ...

ssl_certificate和ssl_certificate_key对应fullchain.cer和域名.key文件即可。

以后的所有子域名都可以使用这个路径的证书。

证书更新

脚本会自行写入crontab

代码语言:javascript
复制
36 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

每天定时检测过期再更新。

参考:

https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E

https://lnmp.org/faq/letsencrypt-wildcard-ssl.html

https://juejin.im/post/5b6542ed51882519d3468d6d

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • acme.sh配置泛域名证书Let'sEncrypt
    • 安装
      • dns验证方式-获取域名dns token
        • 申请泛域名证书
          • nginx证书使用
            • 证书更新
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档