服务器封海外无法申请宝塔免费证书怎么处理

服务器封禁海外IP导致无法申请免费SSL证书,是很多宝塔用户都会遇到的问题。这是因为Let's Encrypt(免费证书的签发机构)的验证服务器位于海外,被你服务器的防火墙策略拦截了。

💡 核心原因

  • CA机构在海外:Let's Encrypt等免费证书的签发机构(CA)是海外服务,其验证服务器IP属于“海外”范畴

  • 服务器策略拦截:你的服务器开启了“禁海外”或类似的防火墙规则,拦截了CA服务器的验证请求,导致连接超时或失败

下面有几种解决方案,从最推荐的开始:

✅ 方案一:切换验证方式为“DNS验证”(最推荐)

这是最根本、最稳定的解决办法。DNS验证不需要CA服务器访问你的网站,只要求你添加一个DNS解析记录,完全不受服务器“禁海外”策略的影响

操作步骤:

  1. 在宝塔面板“网站”-“SSL”证书申请界面,选择“手动解析”或“DNS验证(支持通配符)”方式。

  2. 系统会给出主机记录记录类型记录值等信息。

  3. 前往你的域名DNS管理后台(如阿里云DNS、腾讯云DNS、Cloudflare等),在域名解析中添加一条对应的TXT记录。

  4. 添加后等待几分钟让解析生效,然后回到宝塔面板点击“验证”。

🔧 方案二:临时放行CA服务器IP

如果你希望继续使用“文件验证”的方式,可以临时关闭“禁海外”策略,或者将Let's Encrypt的CA服务器IP加入白名单。

操作思路:

  • 临时关闭:在申请证书的短暂时间内,暂时关闭防火墙“禁海外”的规则,申请成功后再重新开启。

  • IP加白:找到Let's Encrypt的验证服务器IP(可能会变动),将其添加到防火墙白名单中。但这种方式相对比较麻烦,IP也可能变化。

📥 方案三:使用第三方一键安装证书

如果以上操作都感觉有困难,可以直接用现成的。

  1. 购买付费证书阿里云、腾讯云等国内厂商都有付费DV证书,续费和部署通常在平台内一键完成,但需要付费。

  2. 申请云厂商免费证书:阿里云、腾讯云也提供一年期的免费证书。在对应云平台SSL控制台申请并下载(通常是Nginx格式),然后回到宝塔面板手动填写“密钥(KEY)”和“证书(PEM格式)”内容并保存即可


📌 其他可能导致申请失败的原因

如果证书还是申请不下来,可以顺便排查一下:

  • 系统时间:服务器系统时间不准(误差超过5分钟)会导致证书验证失败。可以在服务器终端输入date检查,并使用timedatectl set-timezone Asia/Shanghai同步时间。

  • 根证书过旧:系统根证书过期也可能导致连接失败。可以尝试在终端执行update-ca-certificates --verbose --fresh更新一次。

另外提醒一下,Let's Encrypt免费证书有效期只有90天。如果你用方案二(临时放行),记得每三个月都要重复操作一次;如果改用方案一(DNS验证),续签时也只需配置一次,后续很多环境可以自动续签,会更省心。


您可以还会对下面的文章感兴趣:

暂无相关文章