域名所有权验证相关问题

SSL证书在提交证书申请后,需要配合CA中心完成域名所有权验证。数字证书管理服务控制台提供了辅助域名验证功能,可以帮助您提前发现并解决一些验证过程中的问题,降低CA中心验证失败的几率。本文介绍域名验证过程中可能遇到的问题及解决方案。

DV证书验证常见问题

DV证书验证方式可分为:手动验证、文件验证、自动验证三种方式。常见问题和解决方案如下,您可根据验证方式查找问题原因和解决方案:

手动DNS验证

如何检测DNS解析记录是否生效?

阿里云提供网络拨测工具可帮助您检测解析记录是否生效。检测步骤如下:

  1. 证书申请面板,单击查看记录值

    image

  2. 网络拨测工具页签,单击立即检测

    image

  3. 检测结果列表中的解析结果与您配置的解析记录值一致时,代表解析正常生效。

控制台提示“未检测到DNS记录值”怎么办?

常见原因及解决方案如下

  1. 未添加域名解析记录。

    请参见手动DNS验证,在对应的DNS域名解析服务商,手动添加一条CNAMETXT类型的解析记录用于验证域名所有权。

  2. 控制台验证解析延迟。

    如果您已正确添加域名解析记录,但仍提示“未检测到DNS记录值”,可能是控制台验证延迟导致的。无需任何操作,耐心等待重试即可。

  3. SSL证书绑定域名和DNS域名解析对应的域名不一致。

    说明

    非阿里云DNS解析服务商的用户,请前往对应DNS解析供应商确认域名。

    1. 确认域名是否一致image

    2. SSL证书验证页点击修改,重新填写证书绑定域名后再次提交审核。image

控制台提示“DNS记录值不匹配”怎么办?

常见原因及解决方案如下

  1. DNS解析记录值配置错误。

    将证书申请的主机记录和记录值重新复制到DNS解析的配置中。

    image

  2. 使用了DNSPod或其他域名解析服务商解析域名。

    您可以暂时忽略控制台提示的相关错误,按要求在DNSPod或其他域名解析服务商配置DNS的解析记录后,等待CA验证即可。

  3. DigiCert品牌的DV证书,解析记录值超过24小时。

    1. 删除已超过24小时的TXT解析记录值。

    2. 访问数字证书管理服务控制台,重新申请目标证书,获取最新的TXT解析记录值。

    3. 前往域名解析服务商平台重新添加新的TXT解析记录值。

    说明

    GeoTrust品牌的DV型证书时间戳始终有效。

  4. 记录值未同步至海外DNS。

    动态域名解析记录同步延迟,导致海外权威DNS服务器无法获取最新的TXT记录值。检查您的动态解析服务是否正常运行,耐心等待即可。

控制台提示“验证超时,请重试”怎么办?

域名服务器的网络异常,请联系对应的域名服务商,检查并修复网络情况。

文件验证

控制台提示“未检测到文件”怎么办?

常见原因及解决方案如下

  1. 未上传验证文件至服务器指定目录。

    请参见文件验证,将验证文件上传至站点服务器的指定验证目录(.well-known/pki-validation/)。

  2. 控制台文件验证延迟。

    如果您已上传验证文件至服务器对应目录,且访问URL地址(HTTPS地址HTTP地址),能够访问到验证文件内容,但是控制台仍提示“未检测到文件”。可能是控制台文件验证延迟导致的您无需任何操作,耐心等待重试即可。

控制台提示“验证超时,请重试”怎么办?

常见原因及解决方案如下

  1. 未开放服务器的80443端口。

    目前CA中心仅支持通过访问HTTPS地址HTTP地址(443端口和80端口),验证是否可以访问到验证文件内容。

    解决方案一:开放80443端口。

    如何开放80443端口?

    Linux
    1. 在服务器终端执行以下命令,检测443端口的开放情况:

      RHEL/CentOS 系列
      command -v nc > /dev/null 2>&1 || sudo yum install -y nc
      # 请将以下的 <当前服务器的公网 IP> 替换为当前服务器的公网 IP
      sudo ss -tlnp | grep -q ':443 ' || sudo nc -l 443 & sleep 1; nc -w 3 -vz <当前服务器的公网 IP> 443

      如果输出 Ncat: Connected to <当前服务器公网 IP>:443,则表明443端口已开放。否则需在安全组和防火墙中开放443端口。

      Debian/Ubuntu 系列
      command -v nc > /dev/null 2>&1 || sudo apt-get install -y netcat
      # 请将以下的 <当前服务器的公网 IP> 替换为当前服务器的公网 IP
      sudo ss -tlnp | grep -q ':443 ' || sudo nc -l -p 443 & sleep 1; nc -w 3 -vz <当前服务器的公网 IP> 443

      若输出 Connection to <当前服务器公网 IP> port [tcp/https] succeeded![<当前服务器公网 IP>] 443 (https) open,则表明443端口已开放。否则需在安全组和防火墙中开放443端口。

    2. 若端口未开放,可参照如下操作在安全组和防火墙中开放443端口。

      1. 在安全组中开放 443 端口

      重要

      若您的服务器部署在云平台,请确保其安全组已开放 443 端口 (TCP),否则外部无法访问服务。以下操作以阿里云 ECS 为例,其他云平台请参考其官方文档。

      1. 登录ECS管理控制台,在页面左侧顶部,选择目标 ECS 实例所在地域。在实例页面,找到目标 ECS 实例。

      2. 单击目标实例名称,进入实例详情页面,单击安全组 > 内网入方向全部规则,确保存在一条授权策略允许协议类型为 TCP、目的端口范围为 HTTPS(443)、授权对象任何位置(0.0.0.0/0)的规则。

      3. 如不存在上述规则,请按以下步骤添加。更多安全组配置请参见添加安全组规则

        1. 在 ECS 实例详情页面,单击安全组 > 安全组列表,选择目标安全组并进入其详情页。

        2. 在安全组详情页的安全组详情 > 入方向下,单击增加规则

        3. 新建安全组规则面板,访问目的(本实例)设置为 HTTPS(443),其余参数保持默认值,单击确定即可。

      2. 在服务器本地防火墙中开放 443 端口

      执行以下命令,识别系统当前的防火墙服务类型:

      if command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet firewalld; then
          echo "firewalld"
      elif command -v ufw >/dev/null 2>&1 && sudo ufw status | grep -qw active; then
          echo "ufw"
      elif command -v nft >/dev/null 2>&1 && sudo nft list ruleset 2>/dev/null | grep -q 'table'; then
          echo "nftables"
      elif command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet iptables; then
          echo "iptables"
      elif command -v iptables >/dev/null 2>&1 && sudo iptables -L 2>/dev/null | grep -qE 'REJECT|DROP|ACCEPT'; then
          echo "iptables"
      else
          echo "none"
      fi

      若输出为 none,则无需进一步操作。否则,请根据输出的类型(firewalldufwnftablesiptables),执行以下命令开放 443 端口:

      firewalld
      sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reload
      ufw
      sudo ufw allow 443/tcp
      nftables
      sudo nft add table inet filter 2>/dev/null
      sudo nft add chain inet filter input '{ type filter hook input priority 0; }' 2>/dev/null
      sudo nft add rule inet filter input tcp dport 443 counter accept 2>/dev/null
      iptables
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

      为避免 iptables 规则在系统重启后失效,请执行以下命令持久化 iptables 规则:

      RHEL/CentOS 系列
      sudo yum install -y iptables-services
      sudo service iptables save
      Debian/Ubuntu 系列
      sudo apt-get install -y iptables-persistent
      sudo iptables-save | sudo tee /etc/iptables/rules.v4 >/dev/null
    Windows

    1. 在安全组中开放 443 端口

    重要

    若您的服务器部署在云平台,请确保其安全组已开放入方向 443 端口 (TCP),否则外部无法访问服务。以下操作以阿里云 ECS 为例,其他云平台请参考其官方文档。

    1. 登录ECS管理控制台,在页面左侧顶部,选择目标 ECS 实例所在地域。在实例页面,找到目标 ECS 实例。

    2. 单击目标实例名称,进入实例详情页面,单击安全组 > 内网入方向全部规则,确保存在一条授权策略允许协议类型为 TCP、目的端口范围为 HTTPS(443)、授权对象任何位置(0.0.0.0/0)的规则。如不存在此规则,请进行添加。

      如何添加安全组规则

      1. 在 ECS 实例详情页面,单击安全组 > 安全组列表,选择目标安全组并进入其详情页。

      2. 在安全组详情页的安全组详情 > 入方向下,单击增加规则

      3. 新建安全组规则面板,将访问目的(本实例)设置为 HTTPS(443),其余参数保持默认值,单击确定即可。

      4. 更多安全组配置请参见添加安全组规则

    2. 在服务器本地防火墙中开放 443 端口

    1. 登录Windows服务器,单击左下角开始菜单,打开控制面板

    2. 点击系统和安全 > Windows防火墙 > 检查防火墙状态

    3. 如果防火墙处于如下图的关闭状态,无需额外操作。image

    4. 如果防火墙已开启,需放行HTTPS规则。

      如何放行防火墙HTTPS规则

      1. 单击左侧高级设置 > 入站规则,检查是否存在协议TCP,本地端口443,操作阻止的入站规则。

      2. 若存在此类规则,需要右键单击相应规则并选择属性,在常规页签,将其修改为允许连接应用

      3. 更多防火墙配置,请参见配置防火墙规则

    解决方案二:证书申请面板,单击撤回申请,修改域名验证方式为手动DNS验证

  2. 存在301302重定向跳转

    • 使用wget -S <URL地址>命令检测该验证URL地址是否存在跳转。若返回 HTTP/1.1 301 Moved Permanently 或 HTTP/1.1 302 Found,则说明存在重定向。

      wget -S http://<您的域名>/.well-known/pki-validation/<验证文件名>
    • 删除重定向配置。以下为Nginx配置文件nginx.conf301302配置示例代码。

      301配置

      server {
          listen 80;
          server_name <您主域名> <您的www子域名>;
          return 301 跳转域名$request_uri;
      }

      302配置

      location /.well-known/ {
          return 302 <重定向地址>
      }
  • CA境外IP被防火墙拦截(域名站点未支持境外访问)。

    申请的是国际品牌证书(例如DigiCert、GlobalSign)但证书绑定域名的网站限制境外 IP 访问,可临时将CA中心的IP地址添加到域名服务器的白名单中。

    说明
    • 如何获取CA中心IP地址,可参见CA中心地址也可联系产品技术专家进行咨询,详情请参见专家一对一服务

    • 在证书签发后,建议您删除已配置的IP白名单,以防再次申请证书时出现未知问题。

  • 域名服务器的网络异常。

    联系对应的域名服务商,检查并修复网络情况。

  • 个人测试证书申请的域名含有敏感词。

    解决方案一:更换特殊词(edu、gov、org、jp(国家缩写)、pay、bank、live、nuclear等),重新发起申请。

    解决方案一:如域名无法更改,请您购买OV、EV证书或者vTrus(国产品牌)的证书。

控制台提示“文件内容不正确”怎么办?

常见原因及解决方案如下

  1. 域名服务器下存在旧文件未及时删除

    1. 证书申请面板,单击查看检测到的文件,并记录已检测到的文件的信息。文件信息

    2. 前往您的域名服务器,删除已检测到的文件。

      说明

      通常情况下,旧文件在站点的根目录/.well-known/pki-validation目录下。

    3. 请参见文件验证,重新下载最新验证文件并上传至域名服务器。

  2. 未部署HTTPS服务路径。

    部分站点页面已启用HTTPS访问,而验证文件仅部署在HTTP服务路径下,未部署HTTPS服务路径下,导致报错。

    解决方案一:您可以将验证文件同时部署在HTTPHTTPS服务路径下,并且需要确认HTTPS协议的正常访问。

    解决方案二:您可以临时关闭对应站点涉及页面的HTTPS服务。

  3. 启用了CDN服务,但未完成CDN服务节点海外数据同步。

    解决方案一:将验证文件同步到海外CDN服务节点,或者临时关闭CDN海外加速服务。

    解决方案二:如果无法对CDN节点服务器进行变更操作,可在证书申请面板,单击撤回申请,修改域名验证方式为手动DNS验证

  4. 验证文件时间戳超时。

    访问数字证书管理服务控制台,重新下载最新的验证文件并上传到您网站的指定目录。

文件验证失败的其他原因

  • www子域名/主域名验证不全

    根据证书颁发机构 (CA) 的验证规范,无论您申请的是主域名还是其 www子域名 ,CA都会对这两个地址同时进行检查。请务必确保,这两个域名下的验证文件均可被公开访问,否则验证将失败。

    说明

    www.example.comaliyundoc.com域名为例,您需要同时确保http://www.example.com/.well-known/pki-validation/fileauth.txthttp://example.com/.well-known/pki-validation/fileauth.txt都可被访问,否则验证将不通过。

  • 未关闭HTTPS服务

    服务器如果有HTTPS服务,需确保可通过HTTPS地址访问到验证文件内容,否则建议您暂时关闭该域名的HTTPS服务,否则会到证验证失败。

    说明

    如果服务器未配置过HTTPS服务,只需确保HTTP地址可以访问到验证文件内容。

通配符域名支持文件验证吗?

自动验证

自动验证方式是否可以更改?

不能,若需要更改验证方式请切换至其他阿里云账号,重新进行证书购买。完成购买后可参见域名所有权验证完成域名所有权验证。

OV、EV证书常见问题

CA中心收到您的OVEV证书申请后,将向您的联系人邮箱发送一封域名验证邮件或拨打联系人电话进行验证。常见问题如下:

可以只验证邮件不接听电话完成验证吗?

可以,但要回复邮件说明情况。

验证邮件一般有哪些?邮件接收人是谁?

CA中心会发送域名验证和订单确认邮件给证书申请时联系人预留的邮箱。联系人管理可参见管理联系人。不同的证书品牌邮件内容可能存在差异,可参考下方邮件说明:

重要

以下邮件内容仅供参考,请您以实际收到的为准。

GlobalSign

image

CFCA

image

vTrus

image

其他问题

控制台显示域名验证通过,但是证书一直未签发?

控制台验证结果仅供参考,控制台验证通过不代表完成CA验证并签发证书,实际验证和签发结果请以CA中心检测为准。一般情况下,DV证书的平均签发时间为1~15分钟,EVOV证书平均签发时长为5个自然日。特殊情况下可能导致证书审核时长增加,常见原因及解决方案如下:

  1. 域名存在 CAA 解析记录

    方案一:请前往DNS解析控制台,在域名的解析配置页,将记录类型为“CAA”的解析记录删除,操作完成后重新申请证书即可。

    方案二:将证书对应的CA机构加入CAA 解析记录,操作完成后重新申请证书即可。

    什么是 CAA 解析记录?

    CAA(Certification Authority Authorization, 证书颁发机构授权) 是一种 DNS 记录类型,它允许域名所有者通过 DNS 明确指定哪些 CA(证书颁发机构)被授权为自己的域名签发 SSL/TLS 证书。这样可以有效防止非法或错误的证书签发,提升网站安全。

    重要

    使用 GitHub Page 服务把域名 CNAME 到 github.io域名,会同步引用 github.io 的 CAA 策略从而影响到证书的签发。针对这种特殊情况,您可以在证书签发前暂停该 CNAME 记录,或将 CAA 记录加上 trust-provider.com、globalsign.com 、sectigo.com。

  2. 域名包含敏感词

    如果您的域名中包含某些敏感词可能会触发人工审核机制,审核时间会比较长。耐心等待人工复审结果,如未审核通过,可更换域名重新申请。

    常见敏感词

    live、bank、banc、fund、wallet、pay、lv、nuclear、pw、asia、ban.c、alpha、test、example、credit、apple、ebay、trust、root、amazon、android、visa、google、discover、financial、wordpress、pal、hp、free、SCP等。

  3. 防火墙等安全设备影响CA验证

    在政府单位、国有企业等高度隔离的网络环境中,CA在验证域名所有权时可能会受到网络限制,导致证书长时间处于审核状态。因此,为确保证书能够顺利签发,需要在防火墙等安全设备配置CA白名单。

    CA中心IP地址

    CA厂商

    IP

    WoSign

    • 91.199.212.132

    • 91.199.212.133

    • 91.199.212.148

    • 91.199.212.151

    • 91.199.212.176

    • 91.212.12.132

    Vtrus

    • 194.126.216.17

    • 213.222.200.26

    • 213.222.200.15

    • 213.222.201.155

    • 213.222.198.155

    DigiCert

    • 216.168.247.9

    • 64.78.193.238

    • 216.168.249.9

    GlobalSign

    • 211.123.204.251

    • 180.222.177.99

    • 114.179.250.1

    • 114.179.250.2

    • 27.115.18.218

    CFCA

    • 1.202.139.200

    • 210.74.41.60

  4. 主域名与www子域名的未双向覆盖

    根据证书颁发机构 (CA) 的验证规范,无论您申请的是主域名 (如 example.com))还是其 www 子域名(如 www.example.com),CA都会对这两个地址同时进行检查请务必确保,这两个域名下的验证文件均可被公开访问,否则验证将失败。

为什么域名解析已经生效,但是控制台验证仍旧不通过?

控制台验证解析记录,不管是文件验证还是DNS验证都存在一定的延迟,您无需其他操作,耐心等待即可。

控制台显示域名验证通过,但是证书却“审核失败”?

控制台验证结果仅供参考,控制台验证通过不代表完成CA验证并签发证书,可参见SSL证书审核失败的原因及处理方法获取证书审核失败解决方案。

域名解析供应商不是阿里云,是否可申请阿里云SSL证书?

可以。 您只需完成域名所有权验证即可,这与域名服务商无关。

方案

操作方法

优点

在原服务商配置

登录您当前域名平台,添加从阿里云获取SSL证书验证记录 (CNAME/TXT)。

说明

若有疑问请联系您的域名解析供应商。

快速直接,无需转移域名。

将域名转入阿里云

参考域名转入阿里云完成转入后,在云解析DNS控制台完成DNS解析配置。

重要

域名转入时您需交纳一年的续费费用,即域名转入价格为域名续费一年的价格。

方便未来证书续签和域名统一管理。

SSL证书是否可以在内网使用?

能。但是新申请的证书由于CA中心要通过公网完成域名验证,所以验证过程中需要开通公网访问权限,验证通过后关闭权限即可。签发后的证书对使用环境无限制。