acme+cloudflare生成免费证书(自动续期)
acme DNSapi
acme DNSapi的作用是在申请证书时使用dns交易,acme可以通过dnsapi在对应的dns管理平台提交对应的dns记录。玩过证书的朋友都知道,证书申请时有三种验证方式
- 邮箱验证:需要邮箱与域名绑定(细节要求我没试过)
- 文件验证:文件验证时证书管理方会要求你在服务器的指定路径上方一个指定文件(内容也是他们定),然后开发80端口,他们会去下载这个文件从而验证你的身份。申请域名时你需要去你的服务器上操作,还有开放指定端口
- DNS验证:DNS验证只需要你在dns记录上添加一条TXT记录就可以
我们这里用到的就是DNS验证,DNS验证虽然方便,但是每次申请都需要添加一条DNS记录(申请完成后可以删除,acme好像自动帮忙删除了),如果要实现自动化,acme需要有权限向dns记录方提交记录。
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.crtpriv.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生成免费证书(自动续期)的更多相关文章
- 使用openssl 生成免费证书
阅读目录 一:什么是openssl? 它的作用是?应用场景是什么? 二:使用openssl生成免费证书 回到顶部 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openssl ...
- openssl 生成免费证书
原文链接:https://www.cnblogs.com/tugenhua0707/p/10927722.html 一:什么是openssl? 它的作用是?应用场景是什么? 即百度百科说:openss ...
- [转]部署Let’s Encrypt免费SSL证书&&自动续期
最近公司网站要用https,从自己摸索到找到国内的免费证书到选购正式的收费证书,最后老板说:太贵!不要.一脸懵逼的听老板提到Let's Encrypt证书,没办法,用呗.之前是有一些了解,国外发布的一 ...
- 基于Let's Encrypt生成免费证书-支持多域名泛域名证书
目录 客户端 certbot acme.sh 安装acme.sh 1. 自动安装 2. 手动安装 3. 测试收否安装成功 使用acme.sh生成证书 1. HTTP 方式 2. DNS 方式 1. 生 ...
- 使用acme.sh申请&自动续期LetsEncrypt免费SSL证书(转)
一.简介 LetsEncrypt是一个免费.自动.开放的证书颁发机构.acme.sh 实现了 acme 协议, 可以从 LetsEncrypt 生成免费的证书. 本文介绍如何使用acme.sh来签发并 ...
- 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS 网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...
- 免费生成https证书以及配置
http升级到https需要在nginx的配置中加入证书信息,查询资料后确定生成证书两种方案 第一种:自签名证书,然后开启 CloudFlare 的 CDN 服务 //确定是否安装openss ...
- 使用Let's Encrypt 生成免费的ssl证书的详细过程
参考连接:https://github.com/diafygi/acme-tiny 中文:https://hacpai.com/article/1487899289204 目前我了解可以生成免费证书的 ...
- 怎样查看SSL证书的有效期?自动续期是否生效?
前面一篇教程教大家如何能够把网站的 HTTPS 的 SSL 证书自动续期.料神米课的学员动手能力都很强,已经很多都成功把证书续期了.但怎么看证书续期是否成功了呢? 使用火狐 firefox 浏览器就可 ...
- 从零到一快速搭建个人博客网站(域名备案 + https免费证书)(一)
环境介绍 资源 说明 centos v7.2 docker 快速部署项目环境 nginx 反向代理,同时配置https证书 halo v1.4.2,开源博客项目 Let's Encrypt 免费证书 ...
随机推荐
- oeasy教您玩转vim - 005 - # 程序本质
程序本质 回忆上次内容 py 的程序是按照顺序 一行行挨排解释执行的 我们可以 python3 -m pdb hello.py 来对程序调试 调试的目的是去除 bug 别害怕 bug bug 会有 ...
- 「比赛记录」CF Round 954 (Div. 3)
Codeforces Round 954 (Div. 3) 题目列表: A. X Axis B. Matrix Stabilization C. Update Queries D. Mathemati ...
- java面试一日一题:讲下ThreadLocal
问题:请讲下ThreadLocal 分析:首先要了解ThreadLocal的基本原理:其次要理解ThreadLocal发生内存泄漏的原因:最后ThreadLocal是如何做到线程隔离的 回答要点: 主 ...
- 同时使用mp和mybatis,我的type-aliases-package失效了
mybatis: #mapper配置文件 mapper-locations: classpath:mapper/*.xml type-aliases-package: com.sky.entity c ...
- TCP协议测试
TCP协议测试 首先需要测试TCP协议的连接 tcping命令是针对tcp监控的,也可以看到ping值,即使源地址禁ping也可以通过tcping来监控服务器网络状态,除了简单的ping之外,tcpi ...
- Deep Learning —— 异步优化器 —— RMSpropAsync —— 异步RMSprop
看到了一个概念,叫做异步更新优化器,也就是使用异步的方式实现deep learning中的参数优化的method,这个概念比较新奇,虽然看到的异步更新神经网络的代码比较多,但是很少见到有人单独把异步优 ...
- 关于spinninup的学习笔记
作为reinforcement learning的一个入门学习的项目,spinningup的地址: (英文原版:) https://spinningup.openai.com/en/latest/in ...
- maven实战教程-含视频讲解
1.背景 2.什么是maven? 通俗的说就是,不用手动拷贝jar包,帮我们管理项目结构,只需要配置坐标,自动从中央仓库下载(其他介绍请百度...). 3.Maven的安装与配置 注意:Maven在使 ...
- Apache DolphinScheduler 3.3.0 版本重磅更新提前看!
Apache DolphinScheduler 3.3.0版本终于要在万众期待中发布啦!本次发版将有重大功能更新,包括架构上的调整. 为了让广大用户提前尝鲜,社区特别准备了直播活动提前揭秘3.3.0版 ...
- [python] Python并行计算库Joblib使用指北
Joblib是用于高效并行计算的Python开源库,其提供了简单易用的内存映射和并行计算的工具,以将任务分发到多个工作进程中.Joblib库特别适合用于需要进行重复计算或大规模数据处理的任务.Jobl ...