Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer CORS pour HTTP APIs dans API Gateway
Le partage de ressources entre origines (CORS)Cross-Origin Request Blocked
, vous devrez peut-être l'activerCORS. Pour plus d'informations, voir Qu'est-ce que c'est CORS ?
CORSest généralement nécessaire pour créer des applications Web dont l'accès est APIs hébergé sur un domaine ou une origine différents. Vous pouvez activer CORS pour autoriser les demandes qui vous sont adressées API depuis une application Web hébergée sur un autre domaine. Par exemple, si vous êtes API hébergé sur https://{api_id}.execute-api.{region}.amazonaws.com/
et que vous souhaitez vous appeler API depuis une application Web hébergée surexample.com
, vous API devez prendre en charge le supportCORS.
Si vous configurez CORS pour unAPI, API Gateway envoie automatiquement une réponse aux OPTIONS demandes préalables au vol, même si aucun OPTIONS itinéraire n'est configuré pour votreAPI. Pour une CORS demande, API Gateway ajoute les CORS en-têtes configurés à la réponse d'une intégration.
Note
Si vous configurez CORS pour unAPI, API Gateway ignore CORS les en-têtes renvoyés par votre intégration principale.
Vous pouvez spécifier les paramètres suivants dans une CORS configuration. Pour ajouter ces paramètres à l'aide de la HTTP API console API Gateway, choisissez Ajouter après avoir saisi votre valeur.
CORSen-têtes | CORSpropriété de configuration | Exemples de valeur |
---|---|---|
Access-Control-Allow-Origin |
allowOrigins |
|
Access-Control-Allow-Credentials |
allowCredentials |
true |
Access-Control-Expose-Headers |
exposeHeaders |
Date x-api-id, * |
Access-Control-Max-Age |
maxAge |
300 |
Access-Control-Allow-Methods |
allowMethods |
GET, POST, DELETE, * |
Access-Control-Allow-Headers |
allowHeaders |
Authorization, * |
Pour renvoyer CORS des en-têtes, votre demande doit contenir un origin
en-tête. Pour la OPTIONS
méthode, votre demande doit contenir un origin
en-tête et un Access-Control-Request-Method
en-tête.
Votre CORS configuration peut ressembler à ce qui suit :
Configuration CORS pour un HTTP API avec un $default
itinéraire et un autorisateur
Vous pouvez activer CORS et configurer l'autorisation pour n'importe quel itinéraire d'un HTTPAPI. Lorsque vous activez CORS et autorisez l'$default
itinéraire, certaines considérations particulières doivent être prises en compte. L'itinéraire $default
attrape les demandes pour toutes les méthodes et itinéraires que vous n'avez pas explicitement définies, y compris les demandes OPTIONS
. Pour prendre en charge les OPTIONS
demandes non autorisées, ajoutez un OPTIONS /{proxy+}
itinéraire à votre itinéraire API qui ne nécessite pas d'autorisation et associez une intégration à l'itinéraire. La priorité de l'itinéraire OPTIONS /{proxy+}
est supérieure à celle de l'itinéraire $default
. Par conséquent, il permet aux clients de vous soumettre des OPTIONS
demandes API sans autorisation. Pour plus d'informations sur les priorités de routage, consultez Routage des demandes d'API.
Configurez CORS pour et HTTP API en utilisant le AWS CLI
Vous pouvez utiliser la commande update-api suivante pour activer les CORS demandes provenant de. https://www.example.com
aws apigatewayv2 update-api --api-id
api-id
--cors-configuration AllowOrigins="https://www.example.com"
Pour plus d'informations, consultez CORSla API référence Amazon API Gateway version 2.