Azure Container Apps è una soluzione cloud innovativa offerta da Microsoft che ti consente di gestire e distribuire facilmente container Docker su Azure. Con questa piattaforma, puoi eseguire i tuoi container in un ambiente serverless altamente scalabile, eliminando la necessità di gestire infrastrutture sottostanti complesse.
Quando si tratta di ospitare container con API HTTP, Azure Container Apps offre un'interessante flessibilità. Questo ti consente di sfruttare al massimo i benefici del containerization, come la portabilità e l'isolamento delle applicazioni, mentre Azure si occupa della gestione delle risorse sottostanti e dell'auto-scaling. Tuttavia, quando si integra Azure Container Apps con applicazioni SPA (Single Page Application), si pone il problema delle Cross-Origin Resource Sharing (CORS). Le applicazioni SPA, eseguite lato client, spesso richiedono di accedere a risorse o API in domini diversi da quello in cui sono ospitate. CORS è una politica di sicurezza del browser che impedisce questo tipo di accesso non autorizzato per motivi di sicurezza.
Sebbene possiamo intervenire a livello di un eventuale container gateway aggiuntivo o a livello di singolo container, risulta più comodo poter intervenire direttamente a livello del gateway di Azure Container Apps e fornire policy CORS in maniera uniforme. Per farlo, è sufficiente recarsi nella sezione CORS e specificare tutte le impostazioni, come mostrato in figura.

Oltre agli origins possiamo specificare i metodi, gli header accettati e quelli esposti che, se non specificati equivale ad indicare *. Possiamo testare l'avvenuta configurazione utilizzando strumenti come cURL per effettuare una richiesta OPTIONS e con gli headers appropriati, come nell'esempio
curl -v -H "Origin: https://mysite.com" -H "Access-Control-Request-Method: *" -X OPTIONS https://targetSite.azurecontainerapps.io
Che risponderà con gli header indicanti le policy da noi impostate.
HTTP/2 200 access-control-allow-origin: https://mysite.com access-control-allow-methods: GET access-control-allow-headers: access-control-max-age: 30
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare un hash con SHA-3 in .NET
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Configurare e gestire sidecar container in Azure App Service
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Triggerare una pipeline su un altro repository di Azure DevOps
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Creare una libreria CSS universale: i bottoni
Migliorare l'organizzazione delle risorse con Azure Policy
Ottimizzazione dei block template in Angular 17
Creare una libreria CSS universale - Rotazione degli elementi
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API