跳至內容

如何解決 Amazon API 閘道自訂網域名稱的 DNS 解析或 SSL 憑證不符錯誤?

1 分的閱讀內容
0

我無法連線到 API 閘道的自訂網域,並收到 DNS 解析或 SSL 憑證不符錯誤。

解決方法

解決公有 API 自訂網域錯誤

若要連線至公用 API Gateway API 的自訂網域名稱,您必須將 Amazon Route 53 設定為將流量路由至 API Gateway 端點

如果您沒有將自訂網域的 DNS 記錄對應到正確的 API 閘道網域名稱,則 SSL 連線將會失敗。這是因為傳回了預設的 *.execute-api.<region>.amazonaws.com 憑證,而不是傳回 SSL/TLS 憑證。

若要檢查您是否正確地對應了 DNS 記錄,請執行下列命令:

nslookup custom-domain-name

注意:custom-domain-name 替換為您的自訂網域名稱。

輸出傳回 API 閘道網域名稱。確認自訂網域名稱與 API Gateway 網域名稱相符。如果您使用 Route 53 別名記錄來對應 DNS,則輸出將傳回 IP 位址。確認 IP 位址與 API Gateway 網域名稱 IP 位址相符。

解決私有 API 自訂網域錯誤

若要連線到私有 API 閘道 API 的自訂網域名稱,您必須將 Route 53 設定為將流量路由至虛擬私有雲端 (VPC) 端點 DNS 名稱

若要檢查已對應的 DNS 記錄是否正確,請執行下列命令:

nslookup custom-domain-name

注意:custom-domain-name 替換為您的自訂網域名稱。

輸出傳回 execute-api VPC 端點的私有 IP 位址。確保該 IP 位址與您使用 API 閘道設定的 VPC 端點子網路的 IP 位址相符。

確認您是否在自訂網域名稱和 execute-api VPC 端點之間建立了網域存取關聯

若要檢查是否建立網域存取關聯,請執行以下命令:

curl https://custom-domain-name/resource-path

注意:custom-domain-name 替換為您的自訂網域,將 resource-path 替換為您的資源路徑。

如果您建立了關聯,則輸出將傳回來自整合端點的回應。如果您沒有建立關聯,則 SSL 連線將會失敗,並顯示「SSL:沒有與目標主機名稱相符的替代憑證主題名稱」錯誤訊息。

注意: 在 Route 53 中為區域邊緣最佳化公有 API 設定自訂網域時,您必須建立公有託管區域。對於您想要向使用者提供資源的公有應用程式,請選擇公有託管區域。

為私有 API 建立自訂網域時,您必須建立私有託管區域,並將用戶端 VPC 附加到該託管區域。

Route 53 會使用記錄來決定您要將網域的流量路由到何處。您可以選擇使用別名記錄或 CNAME 記錄

相關資訊

在 AWS 憑證管理員中準備好憑證

如何為 API Gateway API 設定自訂網域名稱?

將自訂網域名稱遷移至 API Gateway 中的不同 API 端點類型