Configurare la condivisione di risorse tra le origini (CORS) per le app contenitore di Azure
Per impostazione predefinita, le richieste effettuate tramite il browser a un dominio che non corrisponde al dominio di origine della pagina vengono bloccate. Per evitare questa restrizione per i servizi distribuiti nelle app contenitore, è possibile abilitare CORS.
Questo articolo illustra come abilitare e configurare CORS nell'app contenitore.
Quando si abilita CORS, è possibile configurare le impostazioni seguenti:
Impostazione | Spiegazione |
---|---|
Consenti credenziali | Indica se restituire l'intestazione Access-Control-Allow-Credentials . |
Validità massima | Configura l'intestazione della Access-Control-Max-Age risposta per indicare per quanto tempo ,in secondi, i risultati di una richiesta di pre-anteprima CORS possono essere memorizzati nella cache. |
Origini consentite | Elenco delle origini consentite per le richieste tra le origini (ad esempio, https://www.contoso.com ). Controlla l'intestazione della Access-Control-Allow-Origin risposta. Usare * per consentire tutto. |
Metodi consentiti | Elenco dei metodi di richiesta HTTP consentiti nelle richieste tra origini. Controlla l'intestazione della Access-Control-Allow-Methods risposta. Usare * per consentire tutto. |
Intestazioni consentite | Elenco delle intestazioni consentite nelle richieste tra le origini. Controlla l'intestazione della Access-Control-Allow-Headers risposta. Usare * per consentire tutto. |
Esporre le intestazioni | Per impostazione predefinita, non tutte le intestazioni di risposta vengono esposte al codice JavaScript lato client in una richiesta tra le origini. Le intestazioni esposte sono server di intestazioni aggiuntive che possono includere in una risposta. Controlla l'intestazione della Access-Control-Expose-Headers risposta. Usare * per esporre tutti. |
Proprietà | Spiegazione | Type |
---|---|---|
allowCredentials |
Indica se restituire l'intestazione Access-Control-Allow-Credentials . |
boolean |
maxAge |
Configura l'intestazione della Access-Control-Max-Age risposta per indicare per quanto tempo ,in secondi, i risultati di una richiesta di pre-anteprima CORS possono essere memorizzati nella cache. |
integer |
allowedOrigins |
Elenco delle origini consentite per le richieste tra le origini (ad esempio, https://www.contoso.com ). Controlla l'intestazione della Access-Control-Allow-Origin risposta. Usare * per consentire tutto. |
matrice di stringhe |
allowedMethods |
Elenco dei metodi di richiesta HTTP consentiti nelle richieste tra origini. Controlla l'intestazione della Access-Control-Allow-Methods risposta. Usare * per consentire tutto. |
matrice di stringhe |
allowedHeaders |
Elenco delle intestazioni consentite nelle richieste tra le origini. Controlla l'intestazione della Access-Control-Allow-Headers risposta. Usare * per consentire tutto. |
matrice di stringhe |
exposeHeaders |
Per impostazione predefinita, non tutte le intestazioni di risposta vengono esposte al codice JavaScript lato client in una richiesta tra le origini. Le intestazioni esposte sono server di intestazioni aggiuntive che possono includere in una risposta. Controlla l'intestazione della Access-Control-Expose-Headers risposta. Usare * per esporre tutti. |
matrice di stringhe |
Per altre informazioni, vedere le informazioni di riferimento sul Web Hypertext Application Technology Working Group (WHATWG) sulle risposte HTTP valide da una richiesta di recupero.
Abilitare e configurare CORS
Passare all'app contenitore nel portale di Azure.
Nel menu delle impostazioni selezionare CORS.
Con CORS abilitato è possibile aggiungere, modificare ed eliminare valori per origini consentite, metodi consentiti, intestazioni consentite ed esponi intestazioni.
Per consentire qualsiasi valore accettabile per metodi, intestazioni o origini, immettere *
come valore.
Nota
Gli aggiornamenti alle impostazioni di configurazione tramite la riga di comando sovrascrivono le impostazioni correnti. Assicurarsi di incorporare le impostazioni correnti in tutti i nuovi valori CORS da impostare per garantire che la configurazione rimanga coerente.
Il codice seguente rappresenta il formato che le impostazioni CORS accettano in un modello di Resource Manager durante la configurazione dell'app contenitore.
{
...
"properties": {
...
"configuration": {
...
"ingress": {
...
"corsPolicy": {
"allowCredentials": true,
"maxAge": 5000,
"allowedOrigins": ["https://example.com"],
"allowedMethods": ["GET","POST"],
"allowedHeaders": [],
"exposeHeaders": []
}
}
}
}
}