Nginx 学习笔记(九)申请Let's Encrypt通配符HTTPS证书
Let's Encrypt 宣布 ACME v2 正式支持通配符证书,并将继续清除 Web 上采用 HTTPS 的障碍,让每个网站轻松获取管理证书。消息一出,马上就有热心用户分享出了 Let's Encrypt 通配符 HTTPS 证书的申请方式,下面我们一起来学习下吧!
配置环境:
操作系统:Ubuntu 16.04.2 LTS
配置域名:tinywan.top
具体步骤
1、获取certbot-auto
1 2 3 4 5 | # 下载 wget https: //dl .eff.org /certbot-auto # 设为可执行权限 chmod u+x certbot-auto |
2、开始申请证书
1 | sudo . /certbot-auto --server https: //acme-v02 .api.letsencrypt.org /directory -d "*.tinywan.top" --manual --preferred-challenges dns-01 certonly |
执行完这一步之后,会下载一些需要的依赖,稍等片刻之后,会提示输入邮箱,随便输入都行【该邮箱用于安全提醒以及续期提醒】
!!!注意,这里不要继续往下了申请通配符证书是要经过DNS认证的,按照提示,前往域名后台添加对应的DNS TXT记录。我这里使用的是阿里云域名解析
这里我们添加一下具体的DNS TXT 记录
DNS解析 TXT
1 | _acme-challenge.tinywan. top 记录值为:umZa0-9MbnINQPzWiH75Ji5Rdg9qTds16Mc9qr_sFMc |
添加之后,不要心急着按回车,先执行 dig _acme-challenge.tinywan.top txt 确认解析记录是否生效,生效之后再回去按回车确认
上面表示解析生效,按回车确认继续
出现以上界面说明配置成功,配置证书存放在 /etc/letsencrypt/live/tinywan.top/ 里面了
要续期的话,执行 certbot-auto renew 就可以了
Nginx 虚拟主机的配置DEMO
1 2 3 4 5 6 7 8 9 10 11 | server { server_name www.tinywan. top ; listen 443 ssl; ssl on; ssl_certificate /etc/letsencrypt/live/tinywan . top /fullchain .pem; ssl_certificate_key /etc/letsencrypt/live/tinywan . top /privkey .pem; location / { proxy_pass http: //www .baidu.com; } } |
跟简便的方法:https://github.com/Neilpang/acme.sh
警告解决办法;
1 | nginx: [warn] "ssl_stapling" ignored, issuer certificate not found for certificate "/.acme.sh/tinywan.com/tinywan.com.cer" |
nginx.conf 添加以下选项
1 | ssl_trusted_certificate .acme.sh/tinywan.com/fullchain.cer; |
参考:https://my.oschina.net/kimver/blog/1634575?nocache=1521084660106
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构