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

  1. Passare all'app contenitore nel portale di Azure.

  2. Nel menu delle impostazioni selezionare CORS.

    Screenshot che mostra come abilitare CORS nel portale di Azure.

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": []
              } 
          } 
      } 
  } 
}

Passaggi successivi