Let's Encrypt 配置 HTTPS 免费泛域名证书

简介: Let's Encrypt 配置 HTTPS 免费泛域名证书

想要使用 HTTPS ,你必须先拥有权威 CA(证书签发机构)签发的证书(对于自签名的证书,浏览器是不认账的)。Let's Encrypt 就是一家权威的 CA 证书签发机构,你可以向他申请免费的证书(一般商业证书的价格比较贵)。



推荐使用 acme.sh 这个工具,申请泛域名证书示例:


注意:以下示例中,我的二级域名是 rifewang.club (一般你向云服务商购买的都是二级域名),泛域名是 *.x.rifewang.club 。


1、在系统上安装 acme.sh ,默认安装位置是 ~/.acme.sh :

curl https://get.acme.sh | sh

安装要求系统必须已经安装了 cron , crontab , crontabs , vivie-cron 其中任意一个工具,不然会提示你安装失败,没有的话先安装一个即可。


注意:以下操作使用的是 DNS manual mode 的方式。


2、发起 issue 申请获取域名 DNS TXT 记录:

acme.sh --issue --force --dns -d <二级域名> -d <泛域名> \
   --yes-I-know-dns-manual-mode-enough-go-ahead-please

注意:你必须先将 acme.sh 这个可执行文件的路径添加到系统的环境变量 PATH 中,或者直接在可执行文件目录下执行,否则肯定会提示你 acme.sh command not found 。


--force 强制 issue ,某些情况下你的域名已经验证成功了就会跳过验证,不会生成新的 TXT 记录,所以这里强制执行一下。

--yes-I-know... 这一堆冗长的东西是必须加的,这里就是想提示你 DNS manual mode 的方式不支持自动续签


issue 之后的结果如图所示

按照说明你需要分别添加 _acme-challenge.<二级域名> 和  _acme-challenge.<泛域名>  这两个域名的 TXT 类型的域名解析:

之所以要添加域名解析是为了验证你对此域名的所有权。


3、等待 DNS TXT 解析生效,同一条解析重复更新需要避免 DNS 缓存的问题。


4、发起 renew 申请签发并下载证书:

acme.sh --renew --force --dns -d <二级域名> -d <泛域名> \   --yes-I-know-dns-manual-mode-enough-go-ahead-please

示例结果如图所示:

输出结果除了会告诉你证书签发成功之外,还会在最后说明证书的存放位置,默认是 ~/.acme.sh/<二级域名>/ 这个目录。


5、配置你的证书和密钥,对应的就是 fullchain.cer<二级域名>.key 这两个文件的内容。不同的情况下,配置的操作是不同的:比如你是在自己的服务器上直接操作 nginx ,那么将配置路径指向正确的证书和密钥地址即可,而如果你使用的是云服务,那么你可能需要做的是上传证书和密钥文件内容。总之,你已经成功获取了 HTTPS 证书。



Let's Encrypt 的泛域名证书有效期是三个月,acme.sh 的 DNS manual mode 方式不支持自动续签,你想要续签就必须重新 issue 然后 renew 操作一遍,我之所以这么做是因为权限受限,当然写个定时脚本任务就行了,也不用我手动操作。


acme.sh 不只一种 mode 方式,其它的方式是有支持自动续签的,并且也接入了主流的云服务商(你只需要配置 apikey 即可),

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
6天前
|
运维 Java Serverless
Serverless 应用引擎产品使用合集之是否提供工具来给OSS配置HTTPS证书
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6天前
|
消息中间件 Serverless Go
Serverless 应用引擎操作报错合集之通过自定义域名配置jwt认证,始终报错:"Code": "JWTTokenIsInvalid",是什么导致的
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6天前
|
存储 运维 Serverless
Serverless 应用引擎产品使用合集之为SD函数配置域名并添加路径/sd后无法正常访问,如何配置自定义域名
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
11天前
|
Kubernetes 网络协议 Ubuntu
生成自签名泛域名证书
在Ubuntu 20.04上,本文详细介绍了如何生成自签名泛域名证书,适用于泛域名的场景,如K8S集群。步骤包括创建CA证书、服务器证书,使用`openssl`命令行工具处理CSR,设置扩展字段,并将证书拷贝到目标目录。还提到了nginx配置和Docker证书信任。注意安全性和隐私问题。
21 0
|
11天前
|
Ubuntu 应用服务中间件 Shell
acme.sh自动申请https证书
该文介绍了如何在Ubuntu 20.04系统上使用acme.sh获取和安装免费的HTTPS证书,适用于已经安装了nginx的环境。首先通过`sudo curl https://get.acme.sh | sh -s email=example@mail.com`安装acme.sh,然后使用`acme.sh --issue -d example.com -w /home/onestudy`生成证书,并用`acme.sh --install-cert`安装到nginx。设置定时任务以定期更新证书,并提供了不同方式的证书获取命令及删除和刷新证书有效性的方法。需确保已配置好域名解析和nginx配置。
22 0
|
12天前
微信登陆报错:redirect_uri域名与后台配置不一致,错误码:10003 微信支付报错 微信登录报错 微信开发
微信登陆报错:redirect_uri域名与后台配置不一致,错误码:10003 微信支付报错 微信登录报错 微信开发
|
20天前
|
域名解析 缓存 监控
【域名解析 DNS 专栏】解析失败的 DNS 重试策略与配置优化
【5月更文挑战第28天】DNS解析在数字化时代关键但常遇失败,可能由网络、服务器或域名错误引起。实施智能重试策略(如指数级增长的重试间隔)和配置优化(如选用可靠DNS服务器、设置缓存、监控预警)能提高成功率和系统稳定性。示例代码展示基本DNS重试函数,强调需按业务需求调整策略并配合监控以保证高效稳定的DNS解析。
|
22天前
|
域名解析 网络协议 安全
【域名解析DNS专栏】DNS-over-TLS与DNS-over-HTTPS:安全升级新标准
【5月更文挑战第26天】随着网络技术的发展,DNS协议面临安全挑战,DNS-over-TLS (DoT) 和 DNS-over-HTTPS (DoH) 作为解决方案出现,旨在通过加密增强隐私和安全。DoT使用TLS封装DNS查询,防止流量被窥探或篡改;DoH则利用HTTPS隐藏DNS查询。实施DoT需在客户端和服务器间建立TLS连接,DoH需DNS服务器支持HTTPS接口。这两种技术为网络安全提供支持,未来有望更广泛部署,提升网络环境的安全性。
|
26天前
|
域名解析 存储 缓存
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
【5月更文挑战第22天】本文介绍了DNS解析记录的概念及其手动配置步骤。DNS解析记录是将域名映射到IP地址的数据,常见类型包括A(IPv4)、AAAA(IPv6)和CNAME(别名)。配置步骤包括登录DNS管理平台,添加记录,选择记录类型,填写主机记录和记录值,设置TTL值,并保存。以阿里云为例的A记录配置示例也提供了具体操作。了解这些有助于更好地管理域名。
【域名解析DNS专栏】动手实践:手动配置DNS解析记录
|
26天前
|
网络安全
https的证书错误,错误码-1012问题及解决方案
https的证书错误,错误码-1012问题及解决方案
25 0

热门文章

最新文章