首页 > 其他分享 >acme+cloudflare生成免费证书(自动续期)

acme+cloudflare生成免费证书(自动续期)

时间:2024-09-23 11:45:39浏览次数:8  
标签:DNS acme 证书 sh dns 续期 cloudflare

acme DNSapi

acme DNSapi的作用是在申请证书时使用dns交易,acme可以通过dnsapi在对应的dns管理平台提交对应的dns记录。玩过证书的朋友都知道,证书申请时有三种验证方式

  • 邮箱验证:需要邮箱与域名绑定(细节要求我没试过)
  • 文件验证:文件验证时证书管理方会要求你在服务器的指定路径上方一个指定文件(内容也是他们定),然后开发80端口,他们会去下载这个文件从而验证你的身份。申请域名时你需要去你的服务器上操作,还有开放指定端口
  • DNS验证:DNS验证只需要你在dns记录上添加一条TXT记录就可以

我们这里用到的就是DNS验证,DNS验证虽然方便,但是每次申请都需要添加一条DNS记录(申请完成后可以删除,acme好像自动帮忙删除了),如果要实现自动化,acme需要有权限向dns记录方提交记录。

acme dns api doce

cloudflare DNSapi

根据上面的文档可以看到cloudflare dns api 有两种方式获取

  • 生成cloudflare的全局token(全局token拥有cloudflare的所有权限,大部分是acme用不到的)
  • 生成cloudflare的DNS权限token(推荐,够acme用的了)

生成cloudflare的DNS权限token

先来cloudflare的Api申请页面

image-20240923085901516

点击这里的创建令牌

选择编辑区域DNS 这个模板(一般来说是第一个)

image-20240923085941855

安装下面的内容填写

image-20240923090119372

权限选 区域 -> DNS -> 编辑

区域资源 包括 -> 特定区域 -> 在下拉列表里选你的域名(你也可以在第二个框里面选择所有区域

剩下都不变,点继续,跳转到这个页面

image-20240923090358443

点击生成令牌,就会产生一个令牌,令牌生成后第一时间记录下来,这个令牌只显示一次,刷新页面后就看不到了

获取cloudflare的用户信息

点到cloudflare中对应的网页管理页面,在api的地方可以看到两个api key

image-20240923090719587

现在我们有三个信息

  • 上面生成的一个管理DNS的TOKEN
  • 这里的区域ID
  • 这里的账户ID

在对应服务器上生成证书

设置环境变量

export CF_Token="填DNS token" 
export CF_Zone_ID="填区域ID" 
export CF_Account_ID="填账户ID" 

安装acme

 apt update -y          #更新系统
 
 apt install -y curl    #安装curl
 
 apt install -y socat    #安装socat
 
 curl https://get.acme.sh | sh

生成证书

acme.sh --issue --dns dns_cf -d test.fun -d "*.test.fun"

如果说找不到acme.sh,可以使用下面的命令

~/.acme.sh/acme.sh --issue --dns dns_cf -d test.fun -d "*.test.fun"

等他跑码跑完会告诉你证书的位置

image-20240923092443069

关键是上面两行your cert your cert key

上面生成的证书是 *.test.fun 的证书,所有的以test.fun结尾的域名都可以用这个证书

推荐使用: 因为acme正常2个月会自动更新一下证书,所以我不推荐你把证书移动到别的位置,因为acme下次生成的时候还会放在这个位置,要么你指定acme的证书生成路径,可以用acme.sh --help 查看怎么指定路径。我使用的方法是(有两个)

  • 直接使用这个路径

  • 通过软连接把证书链接过去

    比如我要把证书放在/etc/nginx/ssl 里面 分别命名为cert.crt priv.key我可以这样做

    cd /etc/naginx/ssl
    ln -s /home/ivhu/.acme.sh/证书路径.cer  cert.crt
    ln -s /home/ivhu/acme.sh/证书私钥.key priv.key
    

证书生成后一般会新建一个cron 的定时认为用来维护证书保证期

可以通过 crontab -e命令查看,我的结果是这样的:

image-20240923091717497

意思是每天凌晨3:28会检查一下证书

如果你的证书是给nginx用的可以在root下运行crontab -e 编辑root的cron自动化命令

添加如下:

0 4 * * * systemctl reload nginx

表示每天4:00 重启nginx ,因为nginx的证书需要重启之后才能重载

标签:DNS,acme,证书,sh,dns,续期,cloudflare
From: https://www.cnblogs.com/blogforeverything/p/18426804

相关文章

  • SpringBoot中基于JWT的双token(access_token+refresh_token)授权和续期方案
    微服务架构中,JWT认证方案中,用户登录成功后,后端会生成一个JWT格式的access_token并发送给前端。前端接收后,会将此access_token安全地存储在浏览器的LocalStorage中,以便在后续请求中作为身份认证的依据。每次API请求时,前端都会将access_token附加在请求头中发送给后端,后端则通过过......
  • SpringBoot实战:JWT Token 自动续期的解决方案
    前言在前后端分离的开发架构中,当用户成功登录后,后端服务会生成一个JWT(JSONWebTokens)token,并将其返回给前端。前端(如Vue应用)接收到此token后,通常会将其存储在LocalStorage中以方便后续请求时使用。每次向后端发送请求时,前端会将这个token作为请求头的一部分发送给后端,以便后端通......
  • Cloudflare技术优势
    从技术上看,Cloudflare比其他公司有以下优势:1.全球网络覆盖与任播技术:    广泛的网络覆盖:Cloudflare在全球拥有庞大的网络,在众多国家的大量城市设有数据中心。例如,其网络遍布全球300个城市,能够保证世界上95%的互联网使用者在50毫秒内接入到其网络。这使得它可以......
  • Cloudflare WARP+ 又能用了!2024年9月22日,新增MASQUE协议
    1.Windows用户1.1WARP+官网下载客户端WARP+官网:进入WARP+官网,下载对应客户端。 双击运行,完成安装。1.2新建mdm.xml文件在C:\ProgramData\Cloudflare目录下,新建文本文件:mdm.xml,复制以下内容进去,并保存<dict><key>warp_tunnel_protocol</key><string>masque......
  • 什么是 Cloudflare? Web 性能和安全公司概述
    在快节奏的数字世界中,网站的速度、安全性和可靠性对于企业和用户都至关重要。Cloudflare已成为确保网站平稳、安全和高效运行的基石。但Cloudflare到底是什么?为什么它成为网站所有者如此重要的工具?让我们深入了解它的作用和产品。Cloudflare简介Cloudflare是一家全球......
  • 什么是 ACME 协议以及它如何工作?
    如果您正在管理网站,您可能听说过SSL/TLS证书以及确保网络通信安全的重要性。但是,如果您可以自动执行颁发、更新和撤销这些证书的整个过程,会怎么样?这就是ACME(自动证书管理环境)的作用所在。您可以使用ACME协议通过与证书颁发机构(CA)的自动交互来简化证书管理。您是否好奇ACME......
  • 如何在 Cloudflare Page 上建立自己的 Hexo 博客
    本文首发于我的博客,部分图片和步骤来自在GitHubDesktop中向GitHub进行身份验证-GitHub文档0前置条件0.1安装Node.js打开nodejs.org,点击下载Node.js下载完毕后双击图标然后按Next点IacceptthetermsintheLicenseAgreement,再按Next然后一......
  • Cloudflare的403 禁止错误如何解决?
     Cloudflare的403错误与常规HTTP403错误代码并无二致,都表示禁止访问。这通常意味着你没有权限访问该文档。然而,在使用Cloudflare的情况下,当你尝试网页抓取时,可能会遇到这种情况,因为它可能表明你的IP地址已被禁止。绕过Cloudflare的403Forbidden错误有多种方......
  • 美团面试:Redis锁如何续期?Redis锁超时,任务没完怎么办?
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • Docker部署kubepi,并使用cloudflare配置https
    使用cloudflare配置https用docker部署kubepi,并且使用cloudflare开启https零、前情提要准备一台国外服务器(国内服务器也可,但是要备案)雨云服务器购买地址,这个比较便宜,我是自用然后1块钱买了一天试用做测试的,如果大家只是想学习一下的话可以注册1块钱买一天的,试用一下,而......