Configurazione CORS per HTTP APIs in API Gateway - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione CORS per HTTP APIs in API Gateway

La condivisione di risorse tra origini diverse (CORS) è una funzionalità di sicurezza del browser che limita HTTP le richieste avviate dagli script in esecuzione nel browser. Se non riesci ad accedere a API e ricevi un messaggio di errore che contieneCross-Origin Request Blocked, potrebbe essere necessario abilitarlo. CORS Per ulteriori informazioni, consulta Cos'èCORS? .

CORSè in genere necessario per creare applicazioni Web che accedono APIs ospitate su un dominio o un'origine diversi. È possibile abilitare CORS l'autorizzazione alle richieste API provenienti da un'applicazione Web ospitata su un dominio diverso. Ad esempio, se il tuo API è ospitato su https://{api_id}.execute-api.{region}.amazonaws.com/ e desideri chiamarti API da un'applicazione web ospitata suexample.com, API devi supportareCORS.

Se CORS configuri per unAPI, API Gateway invia automaticamente una risposta alle OPTIONS richieste di preflight, anche se non esiste un OPTIONS percorso configurato per il tuoAPI. Per una CORS richiesta, API Gateway aggiunge le CORS intestazioni configurate alla risposta di un'integrazione.

Nota

Se si configura CORS per unAPI, API Gateway ignora le CORS intestazioni restituite dall'integrazione con il backend.

È possibile specificare i seguenti parametri in una configurazione. CORS Per aggiungere questi parametri utilizzando la HTTP API console API Gateway, scegli Aggiungi dopo aver inserito il valore.

CORSintestazioni CORSproprietà di configurazione Valori di esempio

Access-Control-Allow-Origin

allowOrigins

  • https://www.example.com

  • * (consente tutte le origini)

  • https://* (consente qualsiasi origine che inizia con https://)

  • http://* (consente qualsiasi origine che inizia con http://)

Access-Control-Allow-Credentials

allowCredentials

true

Access-Control-Expose-Headers

exposeHeaders

Data x-api-id, *

Access-Control-Max-Age

maxAge

300

Access-Control-Allow-Methods

allowMethods

GET, POST, DELETE, *

Access-Control-Allow-Headers

allowHeaders

Authorization, *

Per restituire le CORS intestazioni, la richiesta deve contenere un'originintestazione. Per il OPTIONS metodo, la richiesta deve contenere un'originintestazione e un'intestazione. Access-Control-Request-Method

La tua CORS configurazione potrebbe essere simile alla seguente:

CORSconfigurazione per HTTP APIs

Configurazione CORS per un HTTP API con un $default percorso e un autorizzatore

È possibile abilitare CORS e configurare l'autorizzazione per qualsiasi percorso di un. HTTP API Quando si abilita CORS e si autorizza il $defaultpercorso, ci sono alcune considerazioni speciali. Il percorso $default cattura le richieste per tutti i metodi e i percorsi che non sono stati definiti in modo esplicito, incluse le richieste OPTIONS. Per supportare OPTIONS le richieste non autorizzate, aggiungi al tuo OPTIONS /{proxy+} percorso un percorso API che non richieda l'autorizzazione e allega un'integrazione al percorso. Il percorso OPTIONS /{proxy+} ha priorità più alta rispetto al percorso $default. Di conseguenza, consente ai clienti di inviarti OPTIONS richieste API senza autorizzazione. Per ulteriori informazioni sulle priorità di instradamento, consultare Routing delle richieste API.

Configura CORS per e HTTP API utilizzando il AWS CLI

È possibile utilizzare il seguente comando update-api per abilitare CORS le richieste da. https://www.example.com

aws apigatewayv2 update-api --api-id api-id --cors-configuration AllowOrigins="https://www.example.com"

Per ulteriori informazioni, consulta CORSAmazon API Gateway Version 2 API Reference.