スキップしてコンテンツを表示

API Gateway REST API または HTTP API をカスタムドメイン名で呼び出す際に発生する、403 "Missing Authentication token" エラーをトラブルシューティングする方法を教えてください。

所要時間2分
0

手順に従い、Amazon API Gateway REST または HTTP API にカスタムドメイン名を設定したところ、API を呼び出すと、403 "Missing Authentication token" エラーが発生します。

簡単な説明

カスタムドメイン名を使用する API Gateway API は、URL パスが誤った状態で API を呼び出すと 403 "Missing Authentication token" というエラーを返します。

注: API Gateway API ステージの URL を使用した場合は、403 "Missing Authentication token" エラーは返されません。

解決策

API Gateway API 用に設定されたカスタムドメイン名は、API マッピングを使用して API ステージを接続し、カスタムドメイン名を使用して API にトラフィックを送信します。API マッピングには、API、ステージ、カスタムドメイン名があり、必要に応じてマッピングに使用するパスを指定できます。詳細については、「CloudTrail を使用する」を参照してください。

次の例では、カスタムドメイン "https://api.example.com" の API マッピングは次のように設定されています。

APIステージパスデフォルト URLカスタムドメイン の URL
abcd3456efAPI 1dev(なし)https://abcd3456ef.execute-api.us-east-1.amazonaws.com/devhttps://api.example.com
wxyz1234abAPI 2testordershttps://wxyz1234ab.execute-api.us-east-1.amazonaws.com/testhttps://api.example.com/orders
mnop5678qrAPI 3prodcustomershttps://mnop5678qr.execute-api.us-east-1.amazonaws.com/prodhttps://api.example.com/customers

この設定例では、https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev/resourceA という URL を使用して API 1 に行われたリクエストが、正常に "resourceA" へのトラフィックをルーティングします。これは、ステージ名が "dev" であるリソースに対してリクエストが行われたためです。ただし、URL https://api.example.com/dev/resourceA を使用した同じリクエストでは、403 "Missing Authentication token" エラーが返されます。このエラーは、ステージ "dev" がカスタムドメイン名のパス (なし) にマップされていることが原因です。カスタムドメイン名を使用してリクエストを "ResourceA" にルーティングするには、URL が https://api.example.com/resourceA である必要があります。

同様に、https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test/resourceB と同等のカスタムドメイン名の URL は https://api.example.com/orders/resourceB となります。これは、API 2 の "test" ステージがカスタムドメイン API マッピングのパス "orders" にマップされているためです。

関連情報

API ゲートウェイから返された HTTP 403 エラーをトラブルシューティングする方法を教えてください

API Gateway REST API エンドポイントでの 403 "Missing Authentication Token" エラーをトラブルシューティングする方法を教えてください

API Gateway でリージョナルカスタムドメイン名を設定する

AWS公式更新しました 1年前
コメントはありません

関連するコンテンツ