Let‘s Encrypt 使用
1 关于Let’s Encrypt
Let’s Encrypt是一个非盈利的自动证书颁发机构(CA),我们可以免费的从Let’s Encrypt获取自己网站域名的证书,只需要在我们的web主机上运行使用ACME协议的软件来获取Let’s Encrypt证书。
2 工作原理
证书颁发主要分为两步,第一步就是域名认证,证明客户端对这个域名有控制权,不然谁都可以更改你的证书,那就乱套了。然后客户端就可以进行申请、续期以及吊销证书。
其中域名认证有两种方式:
- 在你的域名下的已知URI下放置一个HTTP资源
- 在你的域名下配置DNS记录
3 域名认证方式
3.1 HTTP-01 验证
Let’s Encrypt向ACME客户端提供一个令牌,ACME客户端需要在指定路径http://<your_domain>/.well-known/acme-challenge/<TOKEN>上放置指定文件。该文件包含令牌以及帐户密钥的指纹,文件准备就绪后Let’s Encrypt会尝试获取它,获取成功则验证被视为成功,就可以继续申请颁发证书。
HTTP-01验证最多接受10次重定向,只接受目标为“http:”或“https:”且端口为 80 或 443 的重定向。不接受目标为IP地址的重定向。 当被重定向到 HTTPS 链接时,不会验证证书是否有效(因为验证的目的是申请有效证书,所以它可能会遇到自签名或过期的证书)。
优点:
容易自动化,不需要关于域名配置的额外知识
支持为CNAME的域名颁发证书
适用于现成的Web服务器
缺点:
该验证方式依赖80端口
此验证方式不支持颁发通配符证书
域名下有多个Web服务器时,必须确保该文件在所有服务器上都存在
3.2 DNS-01 验证
此验证方式要求客户端在该域名下的 TXT 记录中设定特定值来证明你对该域名DNS系统的控制。Let’s Encrypt为ACME客户端提供令牌后,客户端根据令牌和帐户密钥创建TXT记录,并将该记录应用在 _acme-challenge.<YOUR_DOMAIN> 。 然后Let’s Encrypt就会向DNS系统查询该记录,如果查询到匹配项,则表示验证成功。
此时只有在DNS提供商有自动更新的API时,这种DNS-01验证方式才有意义,比如使用云厂商的DNS服务,route53。
因为要将DNS API凭据放在Web服务器上,因此会增加该服务器被黑客攻击的风险。最好是使用权限范围受限的API凭据,或在单独的服务器上执行DNS验证并自动将证书复制到Web服务器上。
优点:
此验证方式支持颁发通配符证书
有多个Web服务器时不需要其他额外配
缺点:
在Web服务器上保留API凭据存在一定风险
要求DNS提供商能自动更新DNS记录
DNS提供商可能无法保证DNS记录更新时间
4 注意事项
4.1 证书有效期
通过Let’s Encrypt申请的证书有效期是90天,因此最好是通过自动化方式对证书续期。
4.2 速率限制
证书的申请有速率限制,可以先在测试环境测试后再切到生产环境,
测试环境:https://acme-staging-v02.api.letsencrypt.org/directory
每个注册域名允许颁发的证书数量限制为每周 30000 张。 重复证书限制为每周 30000 张。 每账号、每主机名、每小时允许 60 次验证失败。 每个 IP 地址注册账户数量限制为每个 IP 每 3 小时允许注册 50 个账户。 对于 ACME v2,新订单限制为每个帐户每 3 小时 1500 个。
生产环境:https://acme-v02.api.letsencrypt.org/directory
每个注册域名允许颁发的证书数量限制为每周 50 张。 重复证书限制为每周 5 张。 每账号、每主机名、每小时允许 5 次验证失败。 每个 IP 地址注册账户数量限制为每个 IP 每 3 小时允许注册 10 个账户。 对于 ACME v2,新订单限制为每个帐户每 3 小时 300 个。
参考文档:
- https://letsencrypt.org/how-it-works/
- https://letsencrypt.org/docs/challenge-types/
- https://letsencrypt.org/docs/rate-limits/
Let‘s Encrypt 使用相关推荐
- .NET Core 常用加密和Hash工具NETCore.Encrypt
前言 在日常开发过程中,不可避免的涉及到数据加密解密(Hash)操作,所以就有想法开发通用工具,NETCore.Encrypt就诞生了.目前NETCore.Encrypt只支持.NET Core ,工 ...
- 实现nginx上配置免费证书Let's Encrypt
Let's Encrypt 的免费证书有效期为三个月,不过可以免费续期,写一个脚本定期更新即可. 准备一台nginx 服务器 ,将以下三个附件上传到你的nginx服务器. 1.下载脚本文件,wget ...
- 申请 Let's Encrypt 通配符 HTTPS 证书
一.背景知识 1.1.什么是通配符证书 通配符证书,又叫泛域名证书,一张通配符的证书可以保护一个域名下同级子域名,使他们都变成 https 加密链接,不需要配置一个子域名再申请一个新证书了,而且不限制 ...
- let's encrypt部署免费泛域名证书
环境说明 [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) [root@localhos ...
- Let's Encrypt 免费通配符 SSL 证书申请教程——但是也需要email,域名所有权等,如果是黑产用的话会这样用吗?会不会暴露自己身份???...
Let's Encrypt 免费通配符 SSL 证书申请教程 from:https://blog.csdn.net/English0523/article/details/79608464 2018 ...
- 阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问
用云旺的做IM,ios端图片地址只能是https的才能显示,所以为服务器增加证书 Let's Encrypt是一个免费并且开源的CA,且已经获得Mozilla.微软等主要浏览器厂商的根授信 1. 下载 ...
- Let's Encrypt 免费SSL配置
2019独角兽企业重金招聘Python工程师标准>>> 官方网址 https://letsencrypt.org/ UPDATE: [2018/10/26]如果创建证书时出现 Cli ...
- 【HTTPS】Let's Encrypt certbot renew
背景: web应用 有IPv4和IPv6地址,但是未在同一台服务器上 使用 Let's Encrypt,当证书过期之后,执行certbot renew 时,报错了, 报错 please make su ...
- 使用Let`s encrypt 免费的https 证书
在iOS上以前暂时屏蔽https使用http的接口,将在未来被苹果拒绝: 之前传苹果会在2017年1月1日强制要求支持https,但是现在苹果又延迟该计划了 https://developer.app ...
- ca服务器证书鉴定计划,Let’s Encrypt 项目计划自动化地提供免费的 CA 证书
Let's Encrypt Mozilla.思科.Akamai.IdenTrust.EFF 和密歇根大学研究人员联合宣布了 Let's Encrypt CA 项目,计划为网站提供免费的基本 SSL 证 ...
最新文章
- 6.15 Unity引擎渲染效率全解析
- LeetCode 234 回文链表
- jQuery框架学习第三天:如何管理jQuery包装集
- 前端程序员怎么面试找工作?前端面试技巧分享
- java位图_Java 位图法排序的使用方法
- Entity Framework 4.1 CodeFirst实例
- 国内主流的ERP软件大盘点
- 弱电从业人员必须学习的一些CAD绘图技巧
- 基于MPC5748G的以太网展板通信模块解析
- 单细胞分析实录(18): 基于CellPhoneDB的细胞通讯分析及可视化 (上篇)
- 木兰编程语言,当事人最新回复来了
- filecoin lotus 转账fil流程和gas计算
- 代码注释如此沙雕,会玩还是你们程序员!
- 科银资本 Jayden Wei 专访:全球首个区块链经济特区即将诞生
- 人工智能的前景 | 钱颖一对话张首晟、饶毅、马化腾
- APP运营推广那点事
- 清默网络——CCIE考试经验与心得(1)
- pygame开发2048游戏(附源代码)
- 35岁程序员该何去何从
- 谷歌浏览器CSND广告屏蔽方法
热门文章
- linux安装xfce4,Archlinux xfce4 安装(一)
- 用PIL制作手绘风格滤镜
- 曙光计算机发展,中科曙光历军:发展“硬科技”要有计算机等硬件设施和核心技术...
- yolov8seg 瑞芯微RKNN芯片、地平线Horizon芯片、TensorRT部署
- 【SuperMap .Net 组件】三维自定义专题图
- python获取字符串首字母_Python字符串常用操作命令
- Android OpenGL三——旋转和触控事件
- 不会读代码的程序员,不是好厨师
- Python: 字符串与字节流的两种转换方式
- java poi XSSFWorkbook读写Excel xlsx文件所需jar包一览