

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 針對 DNS 驗證問題進行疑難排解
<a name="troubleshooting-DNS-validation"></a>

如果您無法使用 DNS 驗證憑證，請參閱下列指導方針。

DNS 疑難排解的第一步是使用如下工具來檢查網域的目前狀態：
+ **dig** - [Linux](https://linux.die.net/man/1/dig)、[Windows](https://help.dyn.com/how-to-use-binds-dig-tool/)
+ **nslookup** - [Linux](https://linux.die.net/man/1/nslookup)、[Windows](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/nslookup)

**Topics**
+ [DNS 供應商禁止使用底線](#underscores-prohibited)
+ [DNS 供應商新增的預設結尾句點](#troubleshooting-trailing-period)
+ [GoDaddy 上的 DNS 驗證失敗](#troubleshooting-DNS-GoDaddy)
+ [ACM 主控台未顯示「在 Route 53 中建立記錄」按鈕](#troubleshooting-route53-1)
+ [私有 (不信任) 網域上的 Route 53 驗證失敗](#troubleshooting-route53-2)
+ [驗證成功，但發行或續約失敗](#troubleshooting-dns-pending-violation)
+ [VPN 上的 DNS 伺服器驗證失敗](#troubleshooting-vpn)

## DNS 供應商禁止使用底線
<a name="underscores-prohibited"></a>

如果您的 DNS 供應商禁止在 CNAME 值中使用前置底線，您可以從 ACM 提供的值中移除底線，並使用沒有底線的值來驗證網域。例如，CNAME 值 `_x2.acm-validations.aws` 可以變更為 `x2.acm-validations.aws` 以用於驗證用途。不過，CNAME 名稱參數必須一律有前置底線。

您可以使用下表右側中的任一值來驗證網域。


|  名稱  |  類型  |  Value  | 
| --- | --- | --- | 
|  `_<random value>.example.com.`  |  CNAME  |  `_<random value>.acm-validations.aws.`  | 
|  `_<random value>.example.com.`  |  CNAME  |  `<random value>.acm-validations.aws.`  | 

## DNS 供應商新增的預設結尾句點
<a name="troubleshooting-trailing-period"></a>

某些 DNS 供應商預設會為您所提供的 CNAME 值新增結尾句點。因此，自行新增句點會導致錯誤。例如，「`<random_value>.acm-validations.aws.`」會遭拒絕，而「`<random_value>.acm-validations.aws`」被接受。

## GoDaddy 上的 DNS 驗證失敗
<a name="troubleshooting-DNS-GoDaddy"></a>

除非您修改 ACM 提供的 CNAME 值，否則使用 Godaddy 和其他登錄檔註冊之網域的 DNS 驗證可能會失敗。若以 example.com 做為網域名稱，發出的 CNAME 記錄則會具有下列形式：

```
NAME: _ho9hv39800vb3examplew3vnewoib3u.example.com. VALUE: _cjhwou20vhu2exampleuw20vuyb2ovb9.j9s73ucn9vy.acm-validations.aws.
```

您可以截斷「名稱」欄位結尾處的 Apex 網域 (包括句號)，藉此建立與 GoDaddy 相容的 CNAME 記錄，如下所示：

```
NAME: _ho9hv39800vb3examplew3vnewoib3u VALUE: _cjhwou20vhu2exampleuw20vuyb2ovb9.j9s73ucn9vy.acm-validations.aws.
```

## ACM 主控台未顯示「在 Route 53 中建立記錄」按鈕
<a name="troubleshooting-route53-1"></a>

如果您選取 Amazon Route 53 做為 DNS 供應商， AWS Certificate Manager 可以直接與其互動，以驗證您的網域擁有權。在某些情況下，當您需要使用主控台的**在 Route 53 中建立記錄**按鈕時，該按鈕可能無法使用。如果發生這種情況，請檢查下列可能的原因。
+ 您不是使用 Route 53 做為您的 DNS 供應商。
+ 您用不同的帳戶登入 ACM 和 Route 53。
+ 您不具備在 Route 53 託管區域中建立記錄的 IAM 許可。
+ 您或別人已驗證過網域。
+ 網域無法公開定址。

## 私有 (不信任) 網域上的 Route 53 驗證失敗
<a name="troubleshooting-route53-2"></a>

在 DNS 驗證期間，ACM 會在公開託管區域中搜尋 CNAME。如果找不到，則系統會在 72 小時後逾時，顯示狀態為 **Validation timed out (驗證逾時)**。您無法使用它來託管私有網域的 DNS 記錄，包含 Amazon VPC [私有託管區域](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-private-hosted-zones)中的資源、私有 PKI 中的不受信任網域，以及自我簽署憑證。

AWS 會透過 [AWS 私有 CA](https://aws.amazon.com/certificate-manager/private-certificate-authority/)服務提供公開不受信任網域的支援。

## 驗證成功，但發行或續約失敗
<a name="troubleshooting-dns-pending-violation"></a>

如果憑證發行失敗並顯示「待定驗證」(即使 DNS 是正確的)，請檢查發行未被憑證授權機構授權 (CAA) 記錄封鎖。如需詳細資訊，請參閱[(選用) 設定 CAA 記錄](setup.md#setup-caa)。

## VPN 上的 DNS 伺服器驗證失敗
<a name="troubleshooting-vpn"></a>

如果您在 VPN 上找到 DNS 伺服器，且 ACM 無法驗證憑證，請檢查該伺服器是否可公開存取。使用 ACM DNS 驗證的公有憑證發行需透過公有網際網路解析網域記錄。