certbot申请泛域名证书并自动续签保姆级教程
certbot申请泛域名证书并自动续签(使用docker进行部署)
一、涉及到的资源及文档
1、云解析 - OpenAPI 概览:https://next.api.aliyun.com/document/Alidns/2015-01-09/overview
2、certbot-auth-alidns:
https://github.com/zphiliam/certbot-auth-alidns
3、证书来源于
4、certbot官方:
二、主要步骤:
1、用git拉取certbo
安装certbot
从gitbhub拉取组件:
git clone https://github.com/tengattack/certbot-dns-aliyun.git
2、获取阿里云AccessKey
包括id和secret,成对儿使用,登录阿里云控制台,可以使用主账号的AccessKey,推荐利用RAM创建子账号的AccessKey,更安全。
- 所以首先创建ram账号

- 添加dns访问权限,添加访问accesskey权限

- 获取刚创建ram用户的id和secret

3、修改配置文件
- 修改配置文件scripts/credentails/aliyun.ini
(1)、dns_aliyun_access_key 是访问阿里云 DNS 服务所需的 Access Key ID,它是一个唯一的标识符,用于验证您对阿里云资源的访问权限。
(2、)dns_aliyun_access_key_secret 是与 Access Key ID 相对应的密钥秘钥,用于对访问进行身份验证。这是一个保密信息,不应公开或共享。
- 修改配置文件scripts/letsencrypt/cli.ini

修改域名和邮箱:
- 个别参数讲解
(1)、installer = nginx: 这个参数指定了使用的安装器,这里是 Nginx。这意味着 Certbot 将尝试自动配置 Nginx 服务器以使用新的证书。
(2)、agree-tos = true: 这个参数表示同意 Let's Encrypt 的服务条款。
(3)、no-eff-email = true: 这个参数表示不向 Let's Encrypt 提供效果统计数据的电子邮件地址。
(4)、authenticator = dns-aliyun: 这个参数指定了认证器,即用于验证域名所有权的方法。这里使用的是阿里云 DNS 认证
(5)、preferred-challenges = dns: 这个参数指定了首选的验证方式,这里是 DNS 验证。在 DNS 验证中,Certbot 通过添加特定的 DNS 记录来验证域名。
(6)、dns-aliyun-credentials = '/root/.secrets/aliyun.ini': 这个参数指定了阿里云 DNS 认证所需的凭据文件的路径。该凭据文件可能包含访问阿里云 API 的密钥和其他配置信息。
(7)、dns-aliyun-propagation-seconds = 120: 这个参数指定了等待 DNS 记录传播的时间(以秒为单位)。在修改 DNS 记录后,需要一些时间让修改生效,这个参数设置了等待的时间。
(8)、email = example@demo.com: 这个参数是必需的,用于提供有效的电子邮件地址,以便通知证书相关的信息。
(9)、domains = '*.demo.com,demo.c: 这个参数是必需的,用于指定要申请证书的域名列表。在这个例子中,包括 *.demo.com 和 demo.com
****这里可以是主域名,也可以是泛域名
- 泛域名(Wildcard Domain)是指一个通配符(通常是 * 号)被用于代表任意子域名的域名。这意味着泛域名可以匹配多个不同的子域名。
- 主域名(Primary Domain)是指一个完整的域名,它是由顶级域名(如 .com、.org)和次级域名(如 example)组成的。
4、编写nginx的配置文件

/certbot-dns-aliyun/scripts/letsencrypt/live 这个目录下 需要注意:此文件为软连接文件在使用
源文件在:/certbot-dns-aliyun/scripts/letsencrypt/letsencrypt/archive/

5、执行脚本
./build.sh
****构建一个包含NGINX和阿里云DNS插件的镜像*****
./setup.sh
*****这是一个Shell脚本,主要作用是安装Let's Encrypt证书自动更新的定时任务。****
./run.sh
****用于执行Certbot与阿里云DNS插件的容器化操作。*****
6、启动nginx的docker容器
- docker-compos up -d
certbot申请泛域名证书并自动续签保姆级教程的更多相关文章
- 使用 certbot 申请泛域名https证书
使用 certbot 申请泛域名https证书 Intro Certbot 是一个基于 Let's Encrypt 的自动化申请证书的工具,支持的系统和web server也很多,详见 Certbot ...
- Let's encrypt申请泛域名证书以及报错处理
申请泛域名证书的步骤请参考该链接地址: https://www.jianshu.com/p/df6d13187578 报错信息: No matching distribution found for ...
- Let's encrypt申请泛域名证书
1.下载工具 wget https://dl.eff.org/certbot-auto chmod a+x ./certbot-auto 2.初始化 ./certbot-auto 3.获取证书(1) ...
- Let's Encrypt免费泛域名证书申请
一. 下载acme.sh,以下四条命令任选一条即可 curl https://get.acme.sh | shwget -O - https://get.acme.sh | sh curl https ...
- Let's Encrypt 泛域名证书申请
泛域名 泛域名证书又名通配符证书是SSL证书中的其中一种形式,一般会以通配符的形式(如:*.domain.com)来指定证书所要保护的域名. OV证书和DV证书都会有通配符的域名形式提供,而EV证书一 ...
- 让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt
让网站永久拥有HTTPS - 申请免费SSL证书并自动续期 Let’s Encrypt 为什么要用HTTPS 网站没有使用HTTPS的时候,浏览器一般会报不安全,而且在别人访问这个网站的时候,很有可 ...
- CentOS 7配置Let’s Encrypt支持免费泛域名证书
Let’s Encrypt从2018年开始支持泛域名证书,有效期3个月,目前仅支持acme方式申请,暂不支持certbot. 1.安装acme.sh curl https://get.acme.sh ...
- let's encrypt部署免费泛域名证书
环境说明 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@localhos ...
- acme.sh建立SAN证书 和泛域名证书
文件来源 https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert domain=$domain time=`date +%Y%m%d% ...
- gogetssl申请的域名证书私钥文件丢了,可以重新申请个吗?
因为gogetssl是不保存我们使用浏览器生成的KEY文件的,CSR文件倒是可以有办法再找到 也就是说Certificate Signing Request(CSR)可以想想办法,但是Your Pri ...
随机推荐
- Spring扩展接口(1):ApplicationContextInitializer
在此系列文章中,我总结了Spring扩展接口,以及各个扩展点的使用场景.并整理出一个bean在spring中从被加载到初始化到销毁的所有可扩展点的顺序调用图.这样,我们也可以看到bean是如何一步步加 ...
- Android Tools Project Site
Android Tools Project Site Search this site Projects Overview Screenshots Release Status Roadmap D ...
- [GXYCTF 2019]Ping Ping Ping
题目就是ping,而且这还有一个查询窗口,就随便查询试试 ping了一下本地,发现没有什么很大的作用,给出了提示是php可以执行系统函数这就感到神奇了,就还是上网搜了搜 发现可以在查询IP后面进行拼接 ...
- Android dumpsys介绍
目录 一.需求 二.环境 三.相关概念 3.1 dumpsys 3.2 Binder 3.3 管道 四.dumpsys指令的使用 4.1 dumpsys使用 4.2 dumpsys指令语法 五.详细设 ...
- 8.12 dp模拟赛总结
考场概况: 开考发现题目竟然不保证按难度顺序排序QAQ 正序开题, \(T1\) 显然是数位 \(dp\) 然而没学过不会写,顺手打了 \(30pts\) 暴力走人. \(T2\) 期望 \(dp\) ...
- Ansible操作MySQL常用的几个模块
1. mysql_user 模块 mysql_user模块用来添加,删除用户以及设置用户权限 创建MySQL数据库的用户与口令(非root@localhost用户),直接通过playbooks中的案例 ...
- 【日常收支账本】【Day03】完成编辑账本界面的新增动账记录功能——通过ElementTree加XPath实现
一.项目地址 https://github.com/LinFeng-BingYi/DailyAccountBook 二.新增 1. 解析xml文件 1.1 功能详述 解析所设计的xml文件格式,并将所 ...
- 在Dash中更灵活地编写回调函数
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/dash-master 大家好我是费老师,使用Dash开发过交互式应用的朋友,想必都不会对回调函数感到 ...
- [WPF]标记扩展(Markup Extension)
XAML是基于XML的语言,其遵循并扩展了XML的语法规则.其中一项扩展就是标记扩展(Markup Extension),比如我们经常使用的绑定Binding和x:Type. 什么是标记扩展 标记扩展 ...
- (Good topic)贪心+二分查找:最长上升子序列(3.14 leetcode每日打卡)
给定一个无序的整数数组,找到其中最长上升子序列的长度. 示例: 输入: [10,9,2,5,3,7,101,18]输出: 4 解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4. 说明 ...