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申请页面

点击这里的创建令牌

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

安装下面的内容填写

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

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

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

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

获取cloudflare的用户信息

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

现在我们有三个信息

  • 上面生成的一个管理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"

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

关键是上面两行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命令查看,我的结果是这样的:

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

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

添加如下:

0 4 * * * systemctl reload nginx

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

acme+cloudflare生成免费证书(自动续期)的更多相关文章

  1. 使用openssl 生成免费证书

    阅读目录 一:什么是openssl? 它的作用是?应用场景是什么? 二:使用openssl生成免费证书 回到顶部 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl ...

  2. openssl 生成免费证书

    原文链接:https://www.cnblogs.com/tugenhua0707/p/10927722.html 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openss ...

  3. [转]部署Let’s Encrypt免费SSL证书&&自动续期

    最近公司网站要用https,从自己摸索到找到国内的免费证书到选购正式的收费证书,最后老板说:太贵!不要.一脸懵逼的听老板提到Let's Encrypt证书,没办法,用呗.之前是有一些了解,国外发布的一 ...

  4. 基于Let's Encrypt生成免费证书-支持多域名泛域名证书

    目录 客户端 certbot acme.sh 安装acme.sh 1. 自动安装 2. 手动安装 3. 测试收否安装成功 使用acme.sh生成证书 1. HTTP 方式 2. DNS 方式 1. 生 ...

  5. 使用acme.sh申请&自动续期LetsEncrypt免费SSL证书(转)

    一.简介 LetsEncrypt是一个免费.自动.开放的证书颁发机构.acme.sh 实现了 acme 协议, 可以从 LetsEncrypt 生成免费的证书. 本文介绍如何使用acme.sh来签发并 ...

  6. 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt

    让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS  网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...

  7. 免费生成https证书以及配置

    http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案   第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务   //确定是否安装openss ...

  8. 使用Let's Encrypt 生成免费的ssl证书的详细过程

    参考连接:https://github.com/diafygi/acme-tiny 中文:https://hacpai.com/article/1487899289204 目前我了解可以生成免费证书的 ...

  9. 怎样查看SSL证书的有效期?自动续期是否生效?

    前面一篇教程教大家如何能够把网站的 HTTPS 的 SSL 证书自动续期.料神米课的学员动手能力都很强,已经很多都成功把证书续期了.但怎么看证书续期是否成功了呢? 使用火狐 firefox 浏览器就可 ...

  10. 从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)

    环境介绍 资源 说明 centos v7.2 docker 快速部署项目环境 nginx 反向代理,同时配置https证书 halo v1.4.2,开源博客项目 Let's Encrypt 免费证书 ...

随机推荐

  1. vuex使用和场景案例

    vuex是vue提供的一个集中式状态管理器,用于对数据的集中式管理. vuex有四个重要的属性:state.mutations.actions.getters 1.vuex的使用 安装 npm ins ...

  2. 记录荒废了三年的四年.net开发的第二次面试(进复试了)

    这次面试的是小公司,深圳计通智能,面试分为初试和复试.使用腾讯视频会议完成.相比与上次面试,这次有所进步,进复试了.当然,这可能也与面试风格有关.这次面试着重与项目经历和技术,因此回答比较顺畅. 这一 ...

  3. 使用 useRequestURL 组合函数访问请求URL

    title: 使用 useRequestURL 组合函数访问请求URL date: 2024/7/26 updated: 2024/7/26 author: cmdragon excerpt: 摘要: ...

  4. RPC接口测试(六)RPC协议解析(重要!重要!重要!)

    RPC协议解析 RPC(Remote Procedure Call Protocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.简言之,RPC使得程 ...

  5. 【IDEA】转大小写快速操作

    需求场景: 快速修改一些字符全部变成大写,或者小写 例如修改SQL语句,部分字段大写,部分字段小写,需要统一 快捷键: [Ctrl + Shift + U] 演示案例: SELECT ( (SELEC ...

  6. 【Shiro】07 散列算法 & 凭证配置

    [散列算法概述] 用于生成数据的摘要信息,不可逆算法,用于存储密码或者密文数据. 常见散列算法类型:MD5.SHA 一般进行散列时提供一个"盐",即系统知道的"干扰数据& ...

  7. 工业AI制造:铝合金冲压、压铸工艺流程 —— 模具参数调整,以满足所需的规格和质量要求

    压铸操作工艺流程作步骤: 模具安装 → 调试 →清理预热模具 → 喷刷涂料 → 合模 → 涂料准备 → 涂料配制 → 压铸 → 冷却与凝固 → 开模 → 顶出铸件 → 质量检验 → 成品 → 废品 → ...

  8. 乌克兰学者的学术图谱case2

    ======================================= 0. 学者:Солонін Ю.М. 中文翻译名:索洛宁·尤里·米哈伊洛维奇 英文翻译名:Solonin Yuriy M ...

  9. 7月新特性 | 软件开发生产线CodeArts发布多项新特性等你体验!

    华为云软件开发生产线CodeArts是一站式.全流程.安全可信的云原生DevSecOps平台,覆盖需求.开发.测试.部署.运维等软件交付全生命周期环节,为开发者打造全云化研发体验.2024年7月,Co ...

  10. 关于REACT范式的一些思考

    关于REACT范式的一些思考 REACT范式经过近一年的探索,让我们在很多领域有了非常广泛的应用,它确实提升了很多之前无法解决的问题,比如大模型虽然在语言理解和交互式决策方面在任务中表现出令人印象深刻 ...