使用 certbot 申请泛域名https证书
使用 certbot 申请泛域名https证书
Intro
Certbot 是一个基于 Let's Encrypt 的自动化申请证书的工具,支持的系统和web server也很多,详见 Certbot 官网
Certbot 有一些 dns 插件可以自动化的不需要手动设置 dns 等方式来验证域名的所属,但是基本是一些国外的大型 DNS 提供商的,针对国内的话通过DNS验证的话还是需要手动验证DNS记录,这里主要介绍手动验证,通过DNS插件自动验证请参考 certbot 官网
手动验证 DNS
安装 Certbot,具体步骤参考官网
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository universe
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot python-certbot-nginx
申请 HTTPS 证书
安装好 certbot 之后,在命令行中执行以下命令:
sudo certbot certonly -d "*.weihanli.xyz" -d weihanli.xyz --manual --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
执行完命令之后会提示需要记录 IP 信息,需要同意不然不能继续申请
设置 DNS TXT 记录

按照提示,在自己的域名服务商那里添加或者修改 _ache-challenge 的 txt 记录,修改之后需要验证是否解析成功,验证方式详见后面,验证解析成功之后输入 Enter 键继续
证书申请成功

如果出现这样的提示就说明证书已经申请成功了
配置 web server
证书申请成功了就基本搞定了,有了证书之后就在服务器上配置一下就可以了
nginx 配置示例:
server {
listen 80;
listen 443;
ssl_certificate /etc/letsencrypt/live/weihanli.xyz/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/weihanli.xyz/privkey.pem;
if ($scheme = http) {
return 301 https://$host$request_uri;
}
server_name weihanli.xyz;
}
重新加载 web 服务器配置或者重新重启web服务器以加载新证书,这里以重新加载 nginx 配置为例
sudo nginx -s reload
验证 DNS TXT 记录
windows 系统上在命令行或 powershell 中执行以下命令:
nslookup -q=txt _acme-challenge.weihanli.xyz

Reference
- https://certbot.eff.org/
- https://blogs.technet.microsoft.com/rmilne/2015/09/11/how-to-use-nslookup-to-check-dns-txt-record/
- https://jingyan.baidu.com/article/fc07f98914db6c12fee51978.html
使用 certbot 申请泛域名https证书的更多相关文章
- Let's encrypt申请泛域名证书以及报错处理
申请泛域名证书的步骤请参考该链接地址: https://www.jianshu.com/p/df6d13187578 报错信息: No matching distribution found for ...
- Let'sEncrypt 免费通配符/泛域名SSL证书添加使用教程
Let'sEncrypt 免费通配符/泛域名SSL证书添加使用教程 通配符证书一般还是比较贵的一般最便宜的通配符证书5.60美元一年,只不过Let'sEncrypt的有效期是3个月,对于一般用户来说基 ...
- Let's encrypt申请泛域名证书
1.下载工具 wget https://dl.eff.org/certbot-auto chmod a+x ./certbot-auto 2.初始化 ./certbot-auto 3.获取证书(1) ...
- Nginx+certbot 实现泛域名的https证书
yum -y install git git clone https://github.com/certbot/certbot cd certbot ./certbot-auto certonly ...
- Let's Encrypt泛域名SSL证书申请
操作系统:CentOS 7 github:https://github.com/Neilpang/acme.sh 有中文说明: https://github.com/Neilpang/acme.sh ...
- startssl申请配置免费https证书
之前给业务配置都是在沃通上申请免费证书,而后通过反向代理层的Nginx进行https认证. 今天来了个新需求,要求域名直接解析至阿里云SLB.https配置需要通过阿里云的控制台部署这倒无所谓,只是在 ...
- Let’s Encrypt Wildcard 免费泛域名SSL证书获取安装
2018 年 1 月Let’s Encrypt CA 宣布免费提供通配符证书(Wildcard certificate).通配符证书是一种可被多个子域使用的公钥证书.这意味着,单个证书可用于提供多台服 ...
- [细节版]Let'sEncrypt 免费通配符/泛域名SSL证书添加使用教程
参考网址:https://lnmp.org/faq/letsencrypt-wildcard-ssl.html 使用的dns服务商:阿里云 , 更多服务商地址可见参考网址. 遇见的问题一. [Sat ...
- 查看域名https证书到期时间
1.通过域名获取: echo | openssl s_client -servername 域名 -connect 域名:443 2>/dev/null | openssl x509 -noou ...
随机推荐
- 能否使用require('.json')的方式加载大量JSON文件?
Node.js中推崇非阻塞I/O,但是require一个模块时却是同步调用的,这会带来性能上的开销,但并不是每次require都很耗时,因为在require成功之后会缓存起来,在此加载时直接从缓存读取 ...
- Web开发:需收藏的JavaScript常用技巧
原文来自:https://www.baidu.com/home/news/data/newspage?nid=4242707244478773456&n_type=0&p_from=1 ...
- latex数学公式笔记
1.空格 两个quad空格 a \qquad b $a \qquad b$ 两个m的宽度 quad空格 a \quad b $a \quad b$ 一个m的宽度 大空格 a\ b $a\ b$ 1/3 ...
- 思维导图软件比较-FREEMIND,XMIND,Mindjet Mindmanager
https://www.zhihu.com/question/22094277
- 跨域问题实践总结!下( [HTML5] postMessage+服务器端(反向代理服务器+CORS Cross-Origin Resource Sharing))
4. [HTML5] postMessage 问题: 对于跨域问题,研究了一下html5的postMessage,写了代码测试了一下,感觉html5新功能就是好用啊.此文仅使用html5的新特性pos ...
- 你不知道的JavaScript--Item11 arguments对象
1.什么是arguments arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的.所有主要的js函数库都利用了arguments对象.所以ag ...
- python运行js
安装 pip install PyExecJS # 需要注意, 包的名称:PyExecJS 简单使用 import execjs execjs.eval("new Date") 返 ...
- js算法初窥04(算法模式01-递归)
终于来到了有点意思的地方--递归,在我最开始学习js的时候,基础课程的内容就包括递归,但是当时并不知道递归的真正意义和用处.我只是知道,哦...递归是自身调用自身,递归要记得有一个停止调用的条件.那时 ...
- 无service.bat的tomcat服务怎么设置自启动
在正式环境中,经常需要设置tomcat自启动,这样在重启系统服务器后就不需要再手动去开启tomcat服务器了.通过设置tomcat下的service.bat可以实现自启动的目的,但有时候会发现自己的t ...
- .net core微服务之基于Docker+Consul+Registrator服务注册服务发现
一.Docker部分: 先拉最新的asp.net core的镜像: docker pull microsoft/aspnetcore 将下载下来的镜像重命名,为什么要重命名?等会讲Registrato ...