Activer CORS sur une ressource à l'aide de la console API Gateway - APIPasserelle Amazon

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.

Activer CORS sur une ressource à l'aide de la console API Gateway

Vous pouvez utiliser la console API Gateway pour activer la CORS prise en charge d'une ou de toutes les méthodes sur une REST API ressource que vous avez créée. Après avoir activé le COR support, définissez le comportement de transfert de l'intégration surNEVER. Dans ce cas, la demande de méthode d'un type de contenu non mappé sera rejetée avec une réponse HTTP 415 Unsupported Media Type. Pour plus d’informations, consultez Comportements de transfert direct.

Important

Les ressources peuvent contenir des ressources enfants. L'activation du CORS support pour une ressource et ses méthodes ne l'active pas de manière récursive pour les ressources enfants et leurs méthodes.

Pour activer le CORS support sur une REST API ressource
  1. Connectez-vous à la console API Gateway à l'adresse https://console.aws.amazon.com/apigateway.

  2. Choisissez un API.

  3. Sélectionnez une ressource sous Resources.

  4. Dans la section Détails de la ressource, choisissez Activer CORS.

    Dans le volet Ressources, sélectionnez ActiverCORS.
  5. Dans la CORS zone Activer, procédez comme suit :

    1. (Facultatif) Si vous avez créé une réponse de passerelle personnalisée et que vous souhaitez activer la prise en CORS charge d'une réponse, sélectionnez une réponse de passerelle.

    2. Sélectionnez chaque méthode pour activer le CORS support. La OPTION méthode doit avoir été CORS activée.

      Si vous activez le CORS support pour une ANY méthode, CORS il est activé pour toutes les méthodes.

    3. Dans le champ de saisie Access-Control-Allow-Headers, entrez la chaîne statique d'une liste d'en-têtes séparés par des virgules que le client doit envoyer dans la demande réelle de la ressource. Utilisez la liste d'en-têtes 'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token' fournie par la console ou spécifiez vos propres en-têtes.

    4. Utilisez la valeur '*' fournie par la console en tant que valeur d'en-tête Access-Control-Allow-Origin afin d'autoriser les demandes d'accès depuis toutes les origines, ou spécifiez les origines autorisées à accéder à la ressource.

    5. Choisissez Enregistrer.

    Choix des en-têtes autorisés
    Important

    Lorsque vous appliquez les instructions ci-dessus à la ANY méthode dans le cadre d'une intégration par proxy, aucun CORS en-tête applicable ne sera défini. Au lieu de cela, votre backend doit renvoyer les CORS en-têtes applicables, tels que. Access-Control-Allow-Origin

Une fois CORS la GET méthode activée, une OPTIONS méthode est ajoutée à la ressource, si elle ne s'y trouve pas déjà. La réponse 200 de la méthode OPTIONS est automatiquement configurée pour renvoyer les trois en-têtes Access-Control-Allow-* afin d'effectuer l'établissement de liaison en amont. En outre, la méthode réelle (GET) est également configurée par défaut pour renvoyer l'en-tête Access-Control-Allow-Origin dans sa réponse 200. En ce qui concerne les autres types de réponses, vous devrez les configurer manuellement pour renvoyer l'en-tête Access-Control-Allow-Origin' avec la valeur '*' ou les origines spécifiques, si vous ne souhaitez pas renvoyer l'erreur Cross-origin access.

Après avoir activé le CORS support sur votre ressource, vous devez le déployer ou le redéployer API pour que les nouveaux paramètres prennent effet. Pour plus d’informations, consultez Créer un déploiement.

Note

Si vous ne parvenez pas à activer le CORS support sur votre ressource après avoir suivi la procédure, nous vous recommandons de comparer votre CORS configuration à l'exemple de API /pets ressource. Pour savoir comment créer cet exempleAPI, voirTutoriel : Création d'une API REST par l'importation d'un exemple.