Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come configurare le impostazioni comuni per le app Web, un back-end per dispositivi mobili o un'app per le API. Per Funzioni di Azure, vedere Informazioni di riferimento sulle impostazioni dell'app per Funzioni di Azure.
Configurare le impostazioni applicazione
Nel Servizio app di Azure le impostazioni dell'app sono variabili passate come variabili di ambiente al codice dell'applicazione. Le condizioni seguenti si applicano alle impostazioni dell'app:
- I nomi delle impostazioni dell'app possono contenere solo lettere, numeri (0-9), punti (.) e caratteri di sottolineatura (_).
- I caratteri speciali nel valore di un'impostazione dell'app devono essere preceduti da un carattere di escape in base alle esigenze del sistema operativo di destinazione.
Ad esempio, per impostare una variabile di ambiente nel servizio app per Linux con il valore "pa$$w0rd\"
, la stringa per l'impostazione dell'app deve essere "pa\$\$w0rd\\"
.
Per le app Linux e i contenitori personalizzati, il servizio app passa le impostazioni dell'app al contenitore usando il --env
flag per impostare la variabile di ambiente nel contenitore. In entrambi i casi, vengono inseriti nell'ambiente dell'app all'avvio dell'app. Quando si aggiungono, rimuovono o modificano le impostazioni dell'app, il servizio app attiva il riavvio dell'app.
Per gli sviluppatori ASP.NET e ASP.NET Core, la configurazione delle impostazioni dell'app nel servizio app è come configurarle in <appSettings>
Web.config
o appsettings.json
. I valori nel servizio app sostituiscono quelli in Web.config
o appsettings.json
. È possibile mantenere le impostazioni di sviluppo, ad esempio la password MySQL locale, in Web.config
o appsettings.json
. È possibile mantenere i segreti di produzione, ad esempio la password del database MySQL di Azure, in modo sicuro nel servizio app. Lo stesso codice usa le impostazioni di sviluppo quando si esegue il debug in locale. Usa i segreti di produzione quando viene distribuito in Azure.
Altri stack di linguaggio ottengono le impostazioni dell'app come variabili di ambiente in fase di esecuzione. Per i passaggi specifici di ogni stack di linguaggio, vedere:
Le impostazioni dell'app vengono sempre crittografate quando vengono archiviate (crittografate a riposo).
Nota
Se si archiviano segreti nelle impostazioni dell'app, è consigliabile usare i riferimenti ad Azure Key Vault. Se i segreti sono destinati alla connettività alle risorse back-end, prendere in considerazione le opzioni di connettività più sicure e che non richiedono segreti. Per ulteriori informazioni, vedere Connessione sicura ai servizi e ai database di Azure da Azure App Service.
Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.
Nel menu a sinistra dell'app selezionare Impostazioni>Variabili di ambiente. Selezionare quindi Impostazioni app.
Per impostazione predefinita, i valori per le impostazioni app sono nascosti nel portale per motivi di sicurezza. Per visualizzare un valore nascosto di un'impostazione dell'app, in Valore selezionare Mostra valore. Per visualizzare i valori nascosti di tutte le impostazioni dell'app, selezionare Mostra valori.
Nota
Le autorizzazioni utente di lettura/scrittura sono necessarie per visualizzare questa sezione nel portale di Azure. I ruoli predefiniti di controllo degli accessi in base al ruolo con autorizzazioni sufficienti sono: Proprietario, Collaboratore e Collaboratore sito Web. Al ruolo Lettore soltanto non sarebbe consentito accedere a questa pagina.
Per aggiungere una nuova impostazione dell'app, selezionare Aggiungi. Per modificare un'impostazione, selezionare l'impostazione.
Nella finestra di dialogo è possibile attaccare l'impostazione allo slot corrente.
Nota
In un servizio app Linux predefinito o in un contenitore Linux personalizzato, qualsiasi struttura di chiave JSON annidata nel nome dell'impostazione dell'app deve essere configurata in modo diverso per il nome della chiave. Sostituire i due punti (
:
) con un doppio carattere di sottolineatura (__
). Sostituire qualsiasi punto (.
) con un singolo carattere di sottolineatura (_
). Ad esempio,ApplicationInsights:InstrumentationKey
deve essere configurato nel servizio app comeApplicationInsights__InstrumentationKey
per il nome della chiave.Al termine, selezionare Applica. Selezionare quindi Applica nella pagina Variabili di ambiente .
Modificare le impostazioni dell'app in blocco
- Selezionare Modifica avanzata.
- Modificare le impostazioni nell'area di testo.
- Al termine, selezionare OK. Selezionare quindi Applica nella pagina Variabili di ambiente .
Le impostazioni dell'app hanno la formattazione JSON seguente:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Configurazione delle stringhe di connessione
Questa sezione descrive come configurare le stringhe di connessione.
Nota
Prendere in considerazione le opzioni di connettività più sicure e che non richiedono segreti di connessione. Per ulteriori informazioni, vedere Connessione sicura ai servizi e ai database di Azure da Azure App Service.
Per gli sviluppatori ASP.NET e ASP.NET Core, l'impostazione delle stringhe di connessione nel servizio app è simile all'impostazione in <connectionStrings>
in Web.config
. I valori impostati nel servizio app sostituiscono quelli in Web.config
. È possibile mantenere le impostazioni di sviluppo, ad esempio un file di database, in Web.config
. È possibile mantenere i segreti di produzione, ad esempio le credenziali del database SQL, in modo sicuro nel servizio app. Lo stesso codice usa le impostazioni di sviluppo quando si esegue il debug in locale. Usa i segreti di produzione quando viene distribuito in Azure.
Per gli altri stack di linguaggi, è preferibile invece usare le impostazioni dell'app. Le stringhe di connessione richiedono una formattazione speciale nelle chiavi delle variabili per accedere ai valori.
È possibile usare le stringhe di connessione anziché le impostazioni dell'app per le lingue non-.NET. Alcuni tipi di database di Azure vengono sottoposti a backup insieme all'app solo se si configura una stringa di connessione per il database nell'app del servizio app. Per altre informazioni, vedere Creare un backup personalizzato. Se non è necessario questo backup automatizzato, usare le impostazioni dell'app.
In fase di runtime, le stringhe di connessione sono disponibili come variabili di ambiente, precedute dai tipi di connessione seguenti:
- SQL Server:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- Azure SQL:
SQLAZURECONNSTR_
- Personalizzato:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Hub di notifica di Azure:
NOTIFICATIONHUBCONNSTR_
- Bus di servizio di Azure:
SERVICEBUSCONNSTR_
- Hub eventi di Azure:
EVENTHUBCONNSTR_
- Azure Cosmos DB:
DOCDBCONNSTR_
- Cache Redis:
REDISCACHECONNSTR_
Nota
Le app .NET destinate a PostgreSQL, Hub di notifica, bus di servizio, Hub eventi, Azure Cosmos DB e cache Redis devono impostare la stringa di connessione su Personalizzata come soluzione alternativa per un problema noto in .NET EnvironmentVariablesConfigurationProvider.
Ad esempio, è possibile accedere a una stringa di connessione MySQL denominata connectionstring1 come variabile di ambiente MYSQLCONNSTR_connectionString1
. Per i passaggi specifici di ogni stack di linguaggio, vedere:
Le stringhe di connessione sono sempre crittografate quando archiviate (crittografate a riposo).
Nota
È anche possibile risolvere le stringhe di connessione da Key Vault usando i riferimenti a Key Vault.
Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.
Nel menu a sinistra dell'app selezionare Impostazioni>Variabili di ambiente. Selezionare quindi Stringhe di connessione.
Per impostazione predefinita, i valori per le stringhe di connessione sono nascosti nel portale per la sicurezza. Per visualizzare un valore nascosto di una stringa di connessione, in Valore selezionare Mostra valore. Per visualizzare i valori nascosti di tutte le stringhe di connessione, selezionare Mostra valori.
Per aggiungere una nuova stringa di connessione, selezionare Aggiungi. Per modificare una stringa di connessione, selezionare la stringa di connessione.
Nella finestra di dialogo è possibile attaccare la stringa di connessione allo slot corrente.
Al termine, selezionare Applica. Selezionare quindi Applica nella pagina Variabili di ambiente .
Modificare le stringhe di connessione in blocco
- Selezionare Modifica avanzata.
- Modificare le stringhe di connessione nell'area di testo.
- Al termine, selezionare Applica. Non dimenticare di selezionare anche Applica nella pagina Variabili di ambiente .
Le stringhe di connessione hanno la formattazione JSON seguente:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Configurare le impostazioni dello stack di linguaggio
Per configurare le impostazioni dello stack di linguaggio, vedere queste risorse:
Configurare le impostazioni generali
Per configurare le impostazioni generali, seguire la procedura per gli strumenti preferiti.
Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.
Nel menu a sinistra dell'app selezionare Configurazione impostazioni>. Selezionare quindi Impostazioni generali.
Qui è possibile configurare alcune impostazioni comuni per l'app. Alcune impostazioni richiedono di aumentare le prestazioni fino ai piani tariffari più elevati.
Impostazioni dello stack: configurare le impostazioni per lo stack di software per eseguire l'app, tra cui la lingua e le versioni dell'SDK.
Per le app Linux, è possibile selezionare la versione del runtime del linguaggio e impostare un comando di avvio facoltativo.
Impostazioni della piattaforma: configurare le impostazioni per la piattaforma di hosting, tra cui:
Piattaforma: scegliere 32 bit o 64 bit. Solo per le app di Windows.
Stato FTP: consente solo FTPS o disabilita completamente FTP.
Versione HTTP: impostare su 2.0 per abilitare il supporto per il protocollo HTTPS/2 .
Nota
La maggior parte dei browser moderni supporta solo il protocollo HTTP/2 su TLS. Il traffico non crittografato continua a usare HTTP/1.1. Per assicurarsi che i browser client si connettano all'app con HTTP/2, proteggere il nome DNS personalizzato. Per altre informazioni, vedere Fornire sicurezza per un nome DNS personalizzato con un'associazione TLS/SSL nel servizio app.
Web sockets: Configurare per ASP.NET SignalR o socket.io, ad esempio.
Always On: attiva se vuoi mantenere l'app caricata anche quando non è presente traffico.
Quando Always On è disattivato (impostazione predefinita), l'app viene scaricata dopo 20 minuti senza richieste in ingresso. L'app scaricata può causare una latenza elevata per le nuove richieste a causa del tempo di riscaldamento.
Quando Always On è attivato, il servizio di bilanciamento del carico front-end invia una
GET
richiesta alla radice dell'applicazione ogni cinque minuti. Il ping continuo impedisce che l'app venga scaricata.Always On è necessario per i processi Web continui o per i processi Web attivati da un'espressione cron.
Affinità di sessione: in una distribuzione a più istanze, assicurarsi che il client venga instradato alla stessa istanza per la durata della sessione. È possibile impostare questa opzione su Disattivato per le applicazioni senza stato.
Proxy di affinità di sessione: attivarlo se l'app si trova dietro un proxy inverso (come il gateway applicazione di Azure o Frontdoor di Azure) e si sta usando il nome host predefinito. Il dominio per il cookie di affinità di sessione è allineato al nome host inoltrato dal proxy inverso.
Solo HTTPS: abilitare se si vuole reindirizzare tutto il traffico HTTP a HTTPS.
Versione minima di TLS: selezionare la versione minima della crittografia TLS richiesta dall'app.
Debug: abilitare il debug remoto per le app ASP.NET, ASP.NET Coreo Node.js. Questa opzione si disattiva automaticamente dopo 48 ore.
Certificati client in ingresso: È necessario richiedere i certificati client per l'autenticazione reciproca.
Configurare i documenti predefiniti
Il documento predefinito è la pagina web visualizzata nell'URL radice di un'app di App Service. Viene usato il primo file corrispondente nell'elenco. Se l'app usa moduli che instradano in base all'URL anziché fornire contenuti statici, non è necessario disporre di documenti predefiniti.
L'impostazione per configurare i documenti predefiniti è solo per le app di Windows.
- Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.
- Nel menu a sinistra dell'app selezionare Configurazione. Selezionare quindi Documenti predefiniti.
- Per aggiungere un documento predefinito, selezionare Nuovo documento. Per rimuovere un documento predefinito, selezionare Elimina alla sua destra.
Eseguire il mapping di un percorso URL a una directory
Per impostazione predefinita, il servizio app avvia l'app dalla directory radice del codice dell'app. Alcuni framework Web, tuttavia, non vengono avviati nella directory radice. Ad esempio, Laravel inizia nella sottodirectory public
. Tale app sarà, ad esempio, accessibile in http://contoso.com/public
, ma in genere si vuole indirizzare http://contoso.com
alla directory public
. Se il file di avvio dell'app si trova in una cartella diversa o se il repository contiene più di un'applicazione, è possibile modificare o aggiungere applicazioni e directory virtuali.
La funzionalità di mapping di una directory virtuale a un percorso fisico è disponibile solo nelle app di Windows.
Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.
Nel menu a sinistra dell'app selezionare Configurazione impostazioni>. Selezionare quindi Mappature del percorso.
Selezionare Nuova applicazione o directory virtuale. Eseguire quindi una di queste azioni:
- Per eseguire il mapping di una directory virtuale a un percorso fisico, lasciare selezionata Directory. Specificare la directory virtuale e il relativo percorso (fisico) corrispondente alla radice del sito Web (
D:\home
). - Per contrassegnare una directory virtuale come applicazione Web, deselezionare Directory.
- Per eseguire il mapping di una directory virtuale a un percorso fisico, lasciare selezionata Directory. Specificare la directory virtuale e il relativo percorso (fisico) corrispondente alla radice del sito Web (
Selezionare OK. Selezionare quindi Salva nella pagina Configurazione .
Configurare i mapping gestori
Per le app di Windows è possibile personalizzare i mapping dei gestori di IIS, le applicazioni virtuali e le directory. I mapping dei gestori consentono di aggiungere processori script personalizzati per gestire le richieste per estensioni di file specifiche.
Per aggiungere un gestore personalizzato:
Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.
Nel menu a sinistra dell'app selezionare Configurazione impostazioni>. Selezionare quindi Mappature del percorso.
Selezionare Nuovo mapping gestore. Configurare il gestore come segue:
-
Estensione. Estensione di file che si desidera gestire, ad esempio
*.php
ohandler.fcgi
. -
Processore di script Il percorso assoluto del processore di script. Il processore di script elabora le richieste ai file che corrispondono all'estensione di file. Utilizzare il percorso
D:\home\site\wwwroot
per fare riferimento alla directory radice della propria app. - Argomenti. Argomenti facoltativi della riga dei comando per il processore script.
-
Estensione. Estensione di file che si desidera gestire, ad esempio
Selezionare OK. Selezionare quindi Salva nella pagina Configurazione .
Configurare contenitori personalizzati
- Configurare un contenitore personalizzato per il Servizio app di Azure
- Connettere Azure Storage come condivisione locale nel Servizio App
Contenuti correlati
- Variabili di ambiente e impostazioni dell'app nel servizio app di Azure
- Configurare un dominio personalizzato esistente nel servizio app di Azure
- Configurare gli ambienti di gestione temporanea in Servizio app di Azure
- Abilitare HTTPS per un dominio personalizzato nel servizio app di Azure
- Abilitare la registrazione diagnostica per le app nel Servizio app di Azure
- Aumentare le prestazioni di un'app nel Servizio app di Azure
- Quote e avvisi del servizio app di Azure
- Modificare le impostazioni applicationHost.config con applicationHost.xdt