本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
如果您在將自訂網域連線至 Amplify 應用程式時遇到問題,請參閱本節中的主題以取得協助。
如果您在這裡找不到問題的解決方案,請聯絡 AWS Support。如需詳細資訊,請參閱 AWS Support 使用者指南中的建立支援案例。
主題
我需要驗證我的 CNAME 解析
-
使用第三方網域提供者更新您的DNS記錄後,您可以使用 dig
等工具或 https://www.whatsmydns.net/ 等免費網站,來驗證您的CNAME記錄是否解決。下列螢幕擷取畫面示範如何使用 whatsmydns.net 來檢查網域 www.example.com CNAME的記錄。 -
選擇搜尋, whatsmydns.net會顯示您 的結果CNAME。下列螢幕擷取畫面是結果清單的範例,可驗證 是否正確CNAME解析為 cloudfront.netURL。
我的託管給第三方的網域停滯在待驗證狀態
-
如果您的自訂網域卡在待驗證狀態,請確認您的 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 (已註冊的網域)。確認已註冊網域區段上顯示的名稱伺服器符合您在上一步 Hosted Zone Details 區段中記錄的名稱伺服器值。如果不相符,請編輯名稱伺服器值,以符合託管區域中的值。下列 Route 53 主控台螢幕擷取畫面會在右側顯示名稱伺服器值的位置。
-
如果這無法解決問題,請聯絡 AWS Support。如需詳細資訊,請參閱 AWS Support 使用者指南中的建立支援案例。
我收到CNAMEAlreadyExistsException錯誤
如果您收到CNAMEAlreadyExistsException錯誤,這表示您嘗試連線的其中一個主機名稱 (子網域或頂點網域) 已部署到另一個 Amazon CloudFront 分佈。錯誤來源取決於您目前的託管和DNS提供者。
A CNAME 別名,例如 example.com
或 sub.example.com
一次只能與單一 CloudFront分佈相關聯。CNAMEAlreadyExistsException 表示您的網域已與其他 CloudFront 分佈相關聯,無論是在相同 AWS 帳戶或可能在不同帳戶中。在 Amplify Hosting 建立的新 CloudFront 分佈開始運作之前,網域必須取消與先前分佈的關聯。如果您或組織擁有多個 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 Support。如需詳細資訊,請參閱 AWS Support 使用者指南中的建立支援案例。
-
如果您透過 Route 53 管理您的網域,請務必清除任何託管區域 CNAME 或 ALIAS 會記錄指向舊 CloudFront 分佈的記錄。
-
完成上述步驟後,從 Amplify Hosting 移除自訂網域,然後重新開始工作流程,以在 Amplify 主控台中連接自訂網域。
我收到其他需要驗證的錯誤
如果您收到其他需要驗證的錯誤,這表示 AWS Certificate Manager (ACM) 需要額外資訊來處理此憑證請求。詐騙防護措施可能會發生此情況,例如,當網域排名在 Alexa 前 1000 名網站
注意
您無法為 Amazon 擁有的網域名稱請求憑證,例如結尾為 amazonaws.com、cloudfront.net 或 elasticbeanstalk.com 的網域名稱。
我在 上收到 404 錯誤 CloudFront URL
為了提供流量,Amplify Hosting 會透過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。
若要將應用程式重新連線至您的自訂網域,請使用下列其中一個對應至您正在使用的網域提供者的程序。
-
-
請聯絡 AWS Support 以重新發行您的SSL憑證。
-