自訂網域故障診斷 - AWS Amplify

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

自訂網域故障診斷

如果您在 AWS Amplify 主控台中將自訂網域新增到應用程式時遇到問題,請參閱本節中的下列主題。

如何確認 CNAME 是否解析?

  1. 在您向第三方網域供應商更新 DNS 記錄之後,您可以使用dig或免費的網站,例如https://www.whatsmydns.net/以確認您的 CNAME 記錄是否正確解析。下列螢幕擷取畫面示範如何使用 whatsmydns.net 來檢查網域的 CNAME 記錄www.example.com

    
                     whatsmydns.net 的屏幕截圖,您輸入一個網站的名稱進行檢查。
  2. 選擇搜尋,以及什麼網會顯示 CNAME 的結果。下列螢幕擷取畫面是一個結果清單的範例,可驗證 CNAME 是否正確解析為雲端前端 .net URL。

    
                     顯示解析中的 CNAME 結果的 whatsmydns.net 螢幕擷取畫面。

透過第三方服務託管的網域卡在等待驗證狀態

  1. 如果您的自訂網域卡在等待驗證狀態,請確認您的 CNAME 記錄正在解析中。如需執行此工作的指示,請參閱先前的疑難排解主題〈如何確認我的 CNAME 可以解析〉。

  2. 如果 CNAME 記錄沒有在解析,請向您的網域提供者確認 DNS 設定中是否存在 CNAME 項目。

    重要

    建立自訂網域後,請務必更新 CNAME 記錄。在 Amplify 主控台中建立您的應用程式後,系統每隔幾分鐘就會檢查您的 CNAME 記錄來判斷其是否解析。如果在一小時後沒有解決的問題,系統會每隔幾小時就會進行此檢查,而可能在準備使用的網域中導致延遲。如果您在建立應用程式的幾個小時後新增或更新 CNAME 記錄,這是您的應用程式卡在等待驗證狀態。

  3. 如果您已驗證 CNAME 記錄的存在,則可能是 DNS 提供者有問題。您可以聯絡 DNS 提供者來診斷 DNS 驗證 CNAME 沒有解析的原因或您可以將 DNS 遷移至 Route 53。如需詳細資訊,請參閱「」將 Amazon Route 53 設定為現有網域的 DNS 服務

使用 Amazon Route 53 託管的網域卡在等待驗證狀態

如果您將網域傳輸到 Amazon Route 53,網域的名稱伺服器就可能會與建立應用程式時,Amplify 主控台發出的那些名稱伺服器不同。執行下列步驟來診斷錯誤的原因。

  1. 登入。Amazon Route 53 主控台

  2. 在導覽窗格中,選擇託管區域,然後選擇您要連接的網域名稱。

  3. 記錄名稱伺服器值,從託管區域詳細資訊一節。您需要這些值來完成下一個步驟。下列 Route 53 主控台的螢幕擷取畫面會在右下角顯示名稱伺服器值的位置。

    
                     Route 53 主控台的託管區域詳細資訊區段的螢幕擷取畫面。
  4. 在導覽窗格中,選擇 Registered domains (已註冊的網域)。確認名稱伺服器顯示在註冊網域區段符合您在前一步驟中記錄的名稱伺服器值,從託管區域詳細資訊區段。如果它們不相符,請編輯名稱伺服器值,以符合託管區域。下列 Route 53 主控台的螢幕擷取畫面會顯示右側名稱伺服器值的位置。

    
                     Route 53 主控台的已註冊網域區段的螢幕擷取畫面。
  5. 如果這樣無法解決問題,請參閱GitHub 問題並打開一個新問題 (如果它不存在)。

我得到一個 CName

如果你得到CAlreadyExistsException錯誤,這表示您嘗試連接的其中一個主機名稱 (子網域或 Apex 網域) 已部署到另一個 Amazon CloudFront 分發。執行下列步驟來診斷錯誤的原因。

  1. 登入。Amazon CloudFront 主控台,並確認您沒有將此網域部署到任何其他分發。單一 CNAME 記錄可以一次連接到一個 CloudFront 分發。

  2. 如果您先前將網域部署到 CloudFront 發行版,則必須將其移除。

    1. 選擇分佈(在左側導覽功能表)。

    2. 選擇欲編輯的分佈名稱旁邊的核取方塊,然後選擇分佈設定

    3. 選擇一般索引標籤,然後選擇Edit (編輯)

    4. 移除網域名稱備用網域名稱 (CNAME)。然後選擇是,編輯以儲存您的變更。

  3. 檢查此網域是否連接到您擁有的不同 Amplify 應用程式。若是如此,確定您不是嘗試重複使用其中一個主機名稱。如果您使用的是www.example.com針對另一個應用程式,您無法使用www.example.com與您目前正在連線的應用程式一起使用。您可以使用其他子網域,例如blog.example.com

  4. 如果此網域已順利連接到另一個應用程式,然後在前 1 小時內刪除,請在至少一小時後再試。如果您在 6 個小時後仍看到此例外狀況,請參閱GitHub 問題並打開一個新問題 (如果它不存在)。