Le Azure Web App sono delle applicazioni che vengono ospitate attraverso macchine virtuali Windows Server e rispondono alle richieste HTTP grazie a IIS. Indipendentemente dal linguaggio che stiamo utilizzando, quindi, gli strumenti che possiamo sfruttare per protegge e configurare il nostro sito internet, si basano sul web server.
Una funzionalità che può spesso essere utile, soprattutto in situazioni di messa in test/staging delle app, è quella di bloccarne l'accesso e di consentire l'utilizzo solo ad una lista di IP da noi prevista.
Per farlo ci basta modificare il file web.config, o crearlo se non esiste, e sfruttare la sezione ipSecurity, inserendo l'XML mostrato nello snippet seguente.
<configuration> <system.webServer> <security xdt:Transform="Insert"> <ipSecurity allowUnlisted="false" denyAction="NotFound"> <add allowed="true" ipAddress="1.2.3.4" /> </ipSecurity> </security> </system.webServer> </configuration>
Possiamo scegliere attraverso l'attributo denyAction di impostare il tipo di risposta da dare. Nell'esempio un 404. Per ulteriori informazioni sulle possibilità di configurazione, si rimanda alla documentazione ufficiale.
https://www.iis.net/configreference/system.webserver/security/ipsecurity
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Model as a Service su Microsoft Azure
Sostituire la GitHub Action di login su private registry
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Eseguire una GroupBy per entity in Entity Framework
Inizializzare i container in Azure Container Apps
Utilizzare politiche di resiliency con Azure Container App
Creare gruppi di client per Event Grid MQTT
Gestire undefined e partial nelle reactive forms di Angular
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON