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
Creare applicazioni distribuite con Azure Container Apps e Dapr
Configurare policy CORS in Azure Container Apps
Utilizzare gli snapshot con Azure File shares
Copiare automaticamente le secret tra più repository di GitHub
Scoprire le ottimizzazioni di Entity Framework Core in fase di scrittura di un solo record
Impostare dinamicamente il nome di una run di un workflow di GitHub
Sfruttare lo streaming di una chiamata Http da Blazor
Monitorare i server on-premises con Azure Arc
Effettuare update massivi con Entity Framework Core 7
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Limitare lo spazio dei repository di Azure Container Registry con uno script bash e Azure CLI
Evitare la script injection nelle GitHub Actions
I più letti di oggi
- .NET Conference Italia 2023 - Milano e Online
- Utilizzare database e servizi con gli add-on di Container App
- Evitare la script injection nelle GitHub Actions
- Reactive form tipizzati con modellazione del FormBuilder in Angular
- Eseguire attività basate su eventi con Azure Container Jobs
- Utilizzare le collection expression in C#
- Registrare servizi multipli tramite chiavi in ASP.NET Core 8
- Eseguire query verso tipi non mappati in Entity Framework Core
- Reactive form tipizzati con FormBuilder in Angular
- Eseguire attività pianificate con Azure Container Jobs