本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對自訂網域進行故障診斷
如果您在將自訂網域連線至 Amplify 應用程式時遇到問題,請參閱本節中的主題以取得協助。
如果您在這裡找不到問題的解決方案,請聯絡 支援。如需詳細資訊,請參閱 AWS 支援 使用者指南中的建立支援案例。
主題
我需要驗證我的 CNAME 是否解析
-
使用第三方網域提供者更新 DNS 記錄後,您可以使用 dig
等工具或 https://www.whatsmydns.net/ 等免費網站來驗證您的 CNAME 記錄是否已正確解析。下列螢幕擷取畫面示範如何使用 whatsmydns.net 來檢查網域 www.example.com 的 CNAME 記錄。
-
選擇搜尋, whatsmydns.net會顯示 CNAME 的結果。下列螢幕擷取畫面是結果清單的範例,可驗證 CNAME 是否正確解析為 cloudfront.net URL。
我的託管給第三方的網域卡在待驗證狀態
-
如果您的自訂網域卡在待驗證狀態,請確認您的CNAME記錄正在解析。如需執行此任務的說明,請參閱先前的疑難排解主題:如何驗證我的 已CNAME解決。
-
如果您的CNAME記錄未解析,請向網域提供者確認該CNAME項目存在於您的 DNS 設定中。
重要
建立自訂網域後,請務必立即更新您的CNAME記錄。在 Amplify 主控台中建立應用程式後,每隔幾分鐘會檢查您的CNAME記錄,以判斷是否解析。如果一小時後仍未解決,則會每隔幾個小時進行檢查,這可能會導致您的網域延遲可供使用。如果您在建立應用程式數小時後新增或更新CNAME記錄,這最有可能讓您的應用程式卡在待驗證狀態。
-
如果您已驗證CNAME記錄是否存在,則 DNS 供應商可能有問題。您可以聯絡 DNS 供應商來診斷 DNS 驗證CNAME未解決的原因,也可以將 DNS 遷移至 Route 53。如需詳細資訊,請參閱將 Amazon Route 53 設為現有網域的 DNS 服務。
使用 Amazon Route 53 託管的網域卡在待驗證狀態
如果您將網域轉移到 Amazon Route 53,您的網域可能會有與建立應用程式時由 Amplify 發行的不同名稱伺服器。執行下列步驟來診斷錯誤的原因。
-
在導覽窗格中,選擇託管區域,然後選擇您要連線的網域名稱。
-
從託管區域詳細資訊區段記錄名稱伺服器值。您需要這些值才能完成下一個步驟。下列 Route 53 主控台螢幕擷取畫面會在右下角顯示名稱伺服器值的位置。
-
在導覽窗格中,選擇 Registered domains (已註冊的網域)。確認已註冊網域區段上顯示的名稱伺服器符合您在上一步託管區域詳細資訊區段中記錄的名稱伺服器值。如果不相符,請編輯名稱伺服器值以符合託管區域中的值。下列 Route 53 主控台螢幕擷取畫面會在右側顯示名稱伺服器值的位置。
-
如果這無法解決問題,請聯絡 支援。如需詳細資訊,請參閱 AWS 支援 使用者指南中的建立支援案例。
具有多層級子網域的應用程式卡在待驗證狀態
如果具有多層級子網域的應用程式在連線至第三方 DNS 供應商時卡在待驗證狀態,則 DNS 記錄的格式可能有問題。有些 DNS 供應商會自動將第二層網域 (SLD) 和最上層網域 (TLD) 網域尾碼新增至您的記錄。如果您也以包含 SLD 和 TLD 的格式指定網域,這可能會導致網域驗證問題。
當您連接網域時,請先嘗試使用 Amplify 提供的完整格式指定網域名稱,例如 _hash.docs.backend.example.com。如果 SSL 組態卡在待驗證狀態,請嘗試從記錄中移除 TLD 和 SLD。例如,如果完整格式為 _hash.docs.backend.example.com,請指定 _hash.docs.backend。等待 15 到 30 分鐘,以允許記錄傳播。然後使用 MX Toolbox 等工具來檢查驗證程序是否正常運作。
我的 DNS 供應商不支援具有完整網域名稱的記錄
有些 DNS 供應商不支援具有完整網域名稱 (FQDN) 的記錄,例如 example.cloudfront.net。例如,Cloudflare A records 只能寫入IPv4地址,不支援 FQDNs。若要解決此限制,建議您在DNS組態A records中使用CNAME記錄,而非 。
例如,下列DNS組態使用 A record。
A | @ | ***.cloudfront.net CNAME | www | ***.cloudfront.net
將其變更為下列DNS組態,以僅使用CNAME記錄。
CNAME | @ | ***.cloudfront.net CNAME | www | ***.cloudfront.net
此解決方法可讓您將頂點網域 (@ 記錄) 正確指向 CloudFront 等服務,同時避免 Cloudflare A records 系統中IPv4-only 的限制。
我收到 CNAMEAlreadyExistsException 錯誤
如果您收到 CNAMEAlreadyExistsException 錯誤,這表示您嘗試連線的其中一個主機名稱 (子網域或頂點網域) 已部署到另一個 Amazon CloudFront 分佈。錯誤來源取決於您目前的託管和 DNS 供應商。
別名,例如 CNAME example.com或 sub.example.com 一次只能與單一 CloudFront 分佈相關聯。CNAMEAlreadyExistsException 表示您的網域已與另一個 CloudFront 分佈建立關聯,無論是在相同 或 AWS 帳戶可能在不同帳戶中。網域必須與先前的 CloudFront 分佈取消關聯,Amplify Hosting 建立的新分佈才能運作。如果您或組織擁有多個 AWS 帳戶,您可能需要檢查多個帳戶。
執行下列步驟來診斷 CNAMEAlreadyExistsException 錯誤的原因。
-
登入 Amazon CloudFront 主控台
,並確認您沒有將此網域部署到另一個分佈。單一CNAME記錄一次可以連接到一個 CloudFront 分佈。 -
如果您之前已將網域部署到 CloudFront 分佈,則必須將其移除。
-
選擇左側導覽功能表上的分佈。
-
選取要編輯的分佈名稱。
-
選擇一般索引標籤。在 Settings (設定) 區段中,選擇 Edit (編輯)。
-
從備用網域名稱 (CNAME) 中移除網域名稱。然後選擇儲存變更。
-
-
確認目前 AWS 帳戶 或其他 中沒有使用此網域的其他 CloudFront 分佈 AWS 帳戶。如果它不會中斷任何目前正在執行的服務,請嘗試刪除並重新建立託管區域。
-
檢查此網域是否連接到您擁有的不同 Amplify 應用程式。若是如此,確定您不是嘗試重複使用其中一個主機名稱。如果您將
www.example.com用於另一個應用程式,則無法將www.example.com與目前連線的應用程式搭配使用。您可以使用其他子網域,例如blog.example.com。 -
如果此網域已成功連線至另一個應用程式,然後在前一個小時內刪除,請在至少一小時過後再試一次。如果您在 6 小時後仍看到此例外狀況,請聯絡 支援。如需詳細資訊,請參閱 AWS 支援 使用者指南中的建立支援案例。
-
如果您透過 Route 53 管理您的網域,請務必清除指向舊 CloudFront 分佈的任何託管區域CNAME或ALIAS記錄。
-
完成上述步驟後,從 Amplify 託管移除自訂網域,然後重新開始工作流程,以在 Amplify 主控台中連接自訂網域。
我收到其他需要驗證的錯誤
如果您收到其他必要驗證錯誤,這表示 AWS Certificate Manager (ACM) 需要其他資訊才能處理此憑證請求。詐騙防護措施可能會發生此情況,例如,當網域排名在 Alexa 前 1000 名網站
注意
您無法為 Amazon 擁有的網域名稱請求憑證,例如結尾為 amazonaws.com、cloudfront.net 或 elasticbeanstalk.com 的網域名稱。
我在 CloudFront URL 上收到 404 錯誤
為了提供流量,Amplify 託管會透過 CNAME 記錄指向 CloudFront URL。在將應用程式連線至自訂網域的過程中,Amplify 主控台會顯示應用程式的 CloudFront URL。不過,您無法使用此 CloudFront URL 直接存取您的應用程式。它會傳回 404 錯誤。您的應用程式只會使用 Amplify 應用程式 URL (例如 https://main.d5udybEXAMPLE.amplifyapp.com或您的自訂網域 (例如 www.example.com) 來解析 。
Amplify 需要將請求路由到正確的部署分支,並使用主機名稱來執行此操作。例如,您可以設定www.example.com指向應用程式主線分支的網域,但也可以設定dev.example.com指向相同應用程式開發分支的網域。因此,您必須根據應用程式設定的子網域來造訪應用程式,以便 Amplify 可以相應地路由請求。
我在造訪我的網域時收到 SSL 憑證或 HTTPS 錯誤
如果您使用第三方 DNS 供應商設定憑證授權機構授權 (CAA) DNS 記錄, AWS Certificate Manager (ACM) 可能無法更新或重新發行自訂網域 SSL 憑證的中繼憑證。若要解決此問題,您需要新增 CAA 記錄來信任至少一個 Amazon 憑證授權單位網域。下列程序說明您需要執行的步驟。
新增 CAA 記錄以信任 Amazon 憑證授權機構
-
與您的網域提供者設定 CAA 記錄,以信任至少一個 Amazon 的憑證授權單位網域。如需設定 CAA 記錄的詳細資訊,請參閱AWS Certificate Manager 《 使用者指南》中的憑證授權機構授權 (CAA) 問題。
-
使用下列其中一種方法來更新您的 SSL 憑證:
-
使用 Amplify 主控台手動更新。
注意
此方法將導致自訂網域的停機時間。
-
登入 AWS Management Console 並開啟 Amplify 主控台
。 -
選擇您要新增 CAA 記錄的應用程式。
-
在導覽窗格中,選擇應用程式設定、網域管理。
-
在網域管理頁面上,刪除自訂網域。
-
再次將您的應用程式連線至自訂網域。此程序會發出新的 SSL 憑證,且其中繼憑證現在可由 ACM 管理。
若要將應用程式重新連線至您的自訂網域,請使用下列其中一個對應至您正在使用的網域提供者的程序。
-
-
請聯絡 支援 以重新發行您的 SSL 憑證。
-