当前位置: 首页 > news >正文

CentOS 7 安装 Lets Encrypt 证书失败提示授权失败怎么办

授权失败大多数情况下是因为 Let's Encrypt 的验证服务器无法通过公网访问你服务器的 80 端口,或者域名 DNS 解析尚未生效。

先说结论:优先检查防火墙和安全组是否放行 80 端口,确认域名解析指向当前服务器 IP,再重试申请命令。

  • 先确认:域名 A 记录是否已生效,服务器公网 IP 是否正确。
  • 先处理:配置防火墙放行 80 端口,检查 Web 服务器配置。
  • 再验证:使用 curl 测试外部访问,重新运行 certbot 命令。

前置准备:CentOS 7 源切换

CentOS 7 已于 2024 年 6 月 30 日停止维护,默认 yum 源已归档至 vault,直接安装 certbot 可能失败。请先执行以下命令切换源:

# 切换镜像地址到 vault.centos.org
sed -i 's/mirror.centos.org/vault.centos.org/g' /etc/yum.repos.d/*.repo
# 启用 baseurl 禁用 metalink
sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/*.repo
sed -i 's/metalink/#metalink/g' /etc/yum.repos.d/*.repo
# 清理缓存并重建
yum clean all && yum makecache
# 安装 certbot 及 nginx 插件
yum install -y certbot python3-certbot-nginx

命令速用版

# 检查本地 80 端口监听(使用 ss 替代 netstat)
ss -tulpn | grep :80
# 放行防火墙 80 端口(安全方式)
firewall-cmd `--permanent` `--add-service`=http
firewall-cmd `--reload`
# 测试外部能否访问
curl -I http://你的域名
# 重试申请(修复命令格式)
certbot `--nginx` -d 你的域名

为什么会这样

Let's Encrypt 颁发证书前需要验证你对域名的控制权。最常用的 HTTP-01 挑战方式要求验证服务器能从公网访问你服务器的 80 端口,并读取特定文件。如果防火墙拦截、安全组未放行、或者 Web 服务器没有正确配置该路径,验证就会失败。

分步处理

1. 检查 DNS 解析

在本地电脑使用 ping 命令,确认域名解析到的 IP 与你服务器公网 IP 一致。如果刚修改过 DNS,可能需要等待几分钟到几小时生效。

2. 检查服务器防火墙

CentOS 7 默认使用 firewalld。执行 systemctl status firewalld 查看状态。如果正在运行,建议添加规则而非直接关闭:

firewall-cmd `--permanent` `--add-service`=http
firewall-cmd `--reload`

若需临时调试,可执行 systemctl stop firewalld,测试完记得开启并配置规则。

3. 检查云厂商安全组

登录云服务器控制台,找到安全组或防火墙配置,确认入方向规则允许 TCP 80 端口来自 0.0.0.0/0。

4. 检查 Web 服务器配置

如果使用 Nginx,确保没有将 80 端口请求全部强制跳转到 HTTPS,否则验证请求可能被拦截。Certbot 通常会自动修改配置,但手动调整后需复查。

5. 查看 Certbot 日志

日志位于 /var/log/letsencrypt/letsencrypt.log,查看具体的 error 信息,确认是连接超时还是返回了错误状态码。

怎么验证是否生效

执行 curl -I http://你的域名/.well-known/acme-challenge/,如果返回 403 或 404 但连接成功,说明网络通了,只是文件路径问题;如果连接超时,说明网络不通。证书申请成功后,运行 certbot certificates 可以看到证书列表和有效期。

常见坑与风险

1. 频率限制:短时间内多次失败会导致 Let's Encrypt 暂时封锁该域名,需等待一小时后再试。

2. 系统停止维护风险:CentOS 7 已停止维护,存在长期安全风险。建议解决当前问题后,规划迁移至 AlmaLinux、Rocky Linux 或 CentOS Stream 等受支持系统。

3. IPv6 干扰:部分环境 IPv6 配置不当会导致验证尝试 IPv6 失败,可尝试在 certbot 命令中禁用 IPv6 或检查服务器 IPv6 监听。

参考来源

  • Let's Encrypt Validation Types: https://letsencrypt.org/docs/challenge-types/
  • Certbot Instructions: https://certbot.eff.org/
  • CentOS 7 End of Life: https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7

原文链接:https://www.zjcp.cc/ask/11699.html

http://www.jsqmd.com/news/859478/

相关文章:

  • 排查UEFI启动时出现两个GOP Handle?手把手教你用Device Path定位真实显卡
  • 派网Panabit AP上线踩坑实录:华为交换机上配了Option 138,为什么AP还是找不到AC?
  • 【限时解禁】Midjourney官方未文档化的--sepia--与--chroma-shift--双引擎分离协议,实测提升色彩独立性达63.8%
  • 这种只有ISSN号没有CN号的期刊是否靠谱,能投吗?
  • GB35114客户端开发实战:手把手教你用eXosip2搞定SIP注册与SM2国密认证
  • 5步掌握YOLOv8 AI自瞄:从零到实战的完整指南
  • Winhance中文版:5分钟让你的Windows系统飞起来!
  • 将路径加入环境变量 PATH:可忽视路径直接运行程序(hadoop version)
  • 企业用车公司在线预约品牌该怎么选看这几点 - 资讯速览
  • OOTDiffusion终极指南:快速掌握AI虚拟试衣技术
  • A2L文件里的CHARACTERISTIC和MEASUREMENT到底有啥区别?从Simulink代码生成角度一次讲清
  • 知识库上传成功但检索不到内容:从向量入库静默失败到多层补偿的排查路径
  • 如何快速配置PeaZip:面向初学者的完全免费压缩文件管理器终极指南
  • 从GLIBCXX报错聊起:你的Anaconda虚拟环境真的‘独立’吗?一份避坑指南
  • ElevenLabs湖南话语音合规性白皮书:通过广电总局语音内容安全检测的5项技术验证(含方言情感倾向过滤方案)
  • 从Java到AI大模型:新手程序员必备的转型指南(收藏版)
  • Python串口批量产测工具:自动化Linux设备测试与配置
  • GetQzonehistory终极教程:3步免费备份QQ空间所有历史记录
  • B站视频下载难题的终结者:BiliDownload如何用3个简单步骤帮你获取无水印高清视频
  • 免费网盘直链解析神器:5分钟告别下载限速
  • 警惕鬼秤!成都 3 家黄金回收实测,5.21 计价公开不玩猫腻 - 资讯快报
  • 充电桩控制板技术演进:从硬件选型到软件架构的实战解析
  • Sunshine游戏串流终极指南:5个步骤打造你的私人云游戏平台
  • AI 智能体开发与上线
  • 北京朱雀智能获客重磅升级:三大系统 + 百城基地,重构企业增长新范式 - 品牌企业推荐师(官方)
  • 2026西南护栏网市场分析:四川口碑比较好的优质企业推荐榜 - 深度智识库
  • CANopen协议栈代码里挖出的“坑”:SYNC使能位和NMT状态机,你的理解可能一直是错的
  • 2026年北京大数据精准获客服务商选型指南|SDK+DPI双技术驱动的B端增长破局 - 企业名录优选推荐
  • 外部表(EXTERNAL_TABLE)Hive 借用数据,删表不删数据
  • API 的灵活多样 vs COM 的接口指针:消费者调用方式深度对比