Gli App Service di Microsoft Azure sono un semplice servizio di hosting delle nostre applicazioni web. Si riferisce alle API App quando si parla di servizi REST, esposti quindi in HTTP, ospitati tramite l'infrastruttura di Azure. Sebbene si tenda a distinguere tra le diverse tipologie, in realtà possiamo realizzare insieme sia Web che API app. Ad ogni modo, qualora disponiamo di uno o più endpoint, questi normalmente vengono consumati da client che possono essere dispositivi desktop, mobile o pagine HTML.
In quest'ultimo caso esiste una policy standard che vieta, per motivi di sicurezza, di effettuare chiamate da un dominio all'altro. Una pagina HTML, quindi, ospitata su http://mioSito.it non potrebbe chiamare le api che stanno su http://mieAPI.it. Questa situazione è tutt'altro che rara, dato che spesso per motivi di scalabilità e affidabilità si tende avere più server, di conseguenza su domini diversi.
Per risolvere questo problema dobbiamo fare uso del Cross-Origin Resource Sharing (CORS) il quale prevede uno speciale endpoint che se interrogato restituire la lista dei domini autorizzati ad effettuare le chiamate. Normalmente il browser interroga questo endpoint e conosce se è possibile procedere.
Nel portale nuovo di Azure possiamo facilmente configurare questa impostazione attraverso la voce Settings->CORS. Nella pagina non dobbiamo far altro che specificare i domini autorizzati (attenzione a HTTP o HTTPS) od eventualmente abilitarli tutti con l'asterisco, anche se sconsigliato.

Da notare che questa impostazione è indipendente dal linguaggio utilizzato, perciò funziona per ASP.NET, PHP, Java e NodeJS, senza intervenire nel web.config.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Introdurre la security nelle best practice di (Azure) DevOps
Elencare gli utenti loggati con Blazor Server
Blazor: Forms
Utilizzare .NET Core 3.1 con le Azure Function
Recuperare un Azure Storage account cancellato
Gestire un observable quando la finestra del browser non è attiva in Angular
Rigenerare il database negli integration test di ASP.NET Core
Utilizzare al meglio gli oggetti HTML input sfruttando i nuovi type
Creare un controllo Expander in un'app Xamarin Forms
Welcome to #GlobalAzure
Ottimizzare costi e prestazioni con l'autoscale di Azure Cosmos DB
I più letti di oggi
- Montare una file share con Azure Container Instance
- il 18/02 c'è il #container & #devops day! https://aspit.co/ContainerDevOpsDay-21 Le iscrizioni sono sempre aperte e la Call For Paper è attiva fino al 28/01! #aspilive #cfp
- Container & DevOps Day - Online
- Testare le impostazioni CORS di un'applicazione ASP.NET Core
- Chiamare direttamente un numero di telefono con HTML5
- Modificare la modalità di esecuzione delle query con Include in Entity Framework Core 5