Configurare un'app servizio app

Questo articolo illustra come configurare le impostazioni comuni per le app Web, il back-end per dispositivi mobili o l'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 le impostazioni dell'app sono variabili passate come variabili di ambiente al codice dell'applicazione. Per le app Linux e i contenitori personalizzati, il servizio app passa le impostazioni dell'app al contenitore usando il flag --env 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, rimuovi o modificano le impostazioni dell'app, servizio app attiva un riavvio dell'app.

Per gli sviluppatori di ASP.NET e ASP.NET Core, la configurazione delle impostazioni dell'app nel servizio app è simile all'impostazione in <appSettings> in Web.config o appsettings.json ma i valori nel servizio app sostituiscono quelli in Web.config o appsettings.json. È possibile mantenere le impostazioni di sviluppo(ad esempio, password mySQL locale) inWeb.configo appsettings.json e segreti di produzione (ad esempio, password del database MySQL di Azure) in modo sicuro in servizio app. Lo stesso codice usa le impostazioni di sviluppo quando si esegue il debug in locale e usa i segreti di produzione per la distribuzione in Azure.

Altri stack di linguaggio, analogamente, ottengono le impostazioni dell'app come variabili di ambiente in fase di esecuzione. Per i passaggi specifici dello stack di linguaggio, vedere:

Le impostazioni dell'app vengono sempre crittografate quando sono archiviate (crittografia dei dati inattivi).

Nota

Le impostazioni dell'app possono essere risolte anche da Key Vault usando riferimenti Key Vault.

  1. Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app.

    Cercare Servizi app

  2. Nel menu a sinistra dell'app selezionareImpostazioni applicazionedi configurazione>.

    Impostazioni dell'applicazione

    Per impostazione predefinita, i valori per le impostazioni dell'app sono nascosti nel portale per la sicurezza. Per visualizzare un valore nascosto di un'impostazione dell'app, fare clic sul campo Valore . Per visualizzare i valori nascosti di tutte le impostazioni dell'app, fare clic sul pulsante Mostra valori .

  3. Per aggiungere una nuova impostazione dell'app, fare clic Nuova impostazione applicazione. Per modificare un'impostazione, fare clic sul pulsante Modifica sul lato destro.

  4. Nella finestra di dialogo è possibile mantenere l'impostazione sullo slot corrente.

    I nomi delle impostazioni dell'app non possono contenere periodi (.). Se un'impostazione dell'app contiene un punto, il periodo viene sostituito con un carattere di sottolineatura nel contenitore.

    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, ad ApplicationInsights:InstrumentationKey esempio, deve essere configurata in servizio app come ApplicationInsights__InstrumentationKey per il nome della chiave. In altre parole, qualsiasi elemento : deve essere sostituito da __ (doppia sottolineatura).

  5. Al termine, fare clic su Aggiorna. Assicurarsi di fare clic su Salva nella pagina Configurazione.

Modificare le impostazioni dell'app in blocco

Fare clic sul pulsante Modifica avanzata . Modificare le impostazioni nell'area di testo. Al termine, fare clic su Aggiorna. Assicurarsi di fare clic su Salva nella pagina Configurazione.

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
  },
  ...
]

Configurare matrici nelle impostazioni dell'app

È anche possibile configurare matrici nelle impostazioni dell'app, come illustrato nella tabella seguente.

Nome impostazione app Valore dell'impostazione dell'app
MY_ENV_VAR ['entry1', 'entry2', 'entry3']

Configurare le stringhe di connessione

Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app. Nel menu a sinistra dell'app selezionareImpostazioni applicazionedi configurazione>.

Impostazioni dell'applicazione

Per gli sviluppatori di ASP.NET e ASP.NET Core, impostare le stringhe di connessione in servizio app sono come impostarle <connectionStrings> inWeb.config, ma i valori impostati in servizio app sostituire quelli in Web.config. È possibile mantenere le impostazioni di sviluppo (ad esempio, un file di database) inWeb.confige segreti di produzione (ad esempio, database SQL credenziali) in modo sicuro in servizio app. Lo stesso codice usa le impostazioni di sviluppo quando si esegue il debug in locale e usa i segreti di produzione per la distribuzione in Azure.

Per altri stack di linguaggio, è preferibile usare le impostazioni dell'app , perché le stringhe di connessione richiedono una formattazione speciale nelle chiavi di variabile per accedere ai valori.

Nota

Esiste un caso in cui è possibile usare le stringhe di connessione anziché le impostazioni dell'app per le lingue di 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 servizio app. Per altre informazioni, vedere Creare un backup personalizzato. Se non è necessario questo backup automatizzato, usare le impostazioni dell'app.

In fase di esecuzione, le stringhe di connessione sono disponibili come variabili di ambiente, precedute dai tipi di connessione seguenti:

  • Sqlserver: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_
  • SQLAzure: SQLAZURECONNSTR_
  • Personalizzato: CUSTOMCONNSTR_
  • Postgresql: POSTGRESQLCONNSTR_

Ad esempio, è possibile accedere a una stringa di connessione MySQL denominata connectionstring1 come variabile MYSQLCONNSTR_connectionString1di ambiente . Per i passaggi specifici dello stack di linguaggio, vedere:

Le stringhe di connessione vengono sempre crittografate quando sono archiviate (crittografia dei dati inattivi).

Nota

Le stringhe di connessione possono essere risolte anche da Key Vault usando riferimenti Key Vault.

  1. Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app.

    Cercare Servizi app

  2. Nel menu a sinistra dell'app selezionare Impostazioniapplicazionedi configurazione>.

    Impostazioni dell'applicazione

    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, fare clic sul relativo campo Valore . Per visualizzare i valori nascosti di tutte le stringhe di connessione, fare clic sul pulsante Mostra valore .

  3. Per aggiungere una nuova stringa di connessione, fare clic su Nuova stringa di connessione. Per modificare una stringa di connessione, fare clic sul pulsante Modifica sul lato destro.

  4. Nella finestra di dialogo è possibile attaccare la stringa di connessione allo slot corrente.

  5. Al termine, fare clic su Aggiorna. Assicurarsi di fare clic su Salva nella pagina Configurazione.

Modificare le stringhe di connessione in blocco

Fare clic sul pulsante Modifica avanzata . Modificare le stringhe di connessione nell'area di testo. Al termine, fare clic su Aggiorna. Assicurarsi di fare clic su Salva nella pagina Configurazione.

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

Configurare le impostazioni generali

Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app. Nel menu a sinistra dell'app selezionare ConfigurationGeneral settings (Impostazioni generali di configurazione>).

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 stack: stack software per eseguire l'app, incluse le versioni del linguaggio e dell'SDK.

    Per le app Linux, è possibile selezionare la versione del runtime del linguaggio e impostare un comando di avvio facoltativo o un file di comando di avvio.

    Impostazioni generali per i contenitori Linux

  • Impostazioni piattaforma: consente di configurare le impostazioni per la piattaforma di hosting, ad esempio quelle riportate in seguito.

    • Stato FTP: consente solo FTPS o disabilita completamente FTP.

    • Numero di bit: a 32 bit o 64 bit. Solo per le app di Windows.

    • Protocollo WebSocket: ad esempio per ASP.NET SignalR o socket.io.

    • Always On: mantiene l'app caricata anche quando non è presente traffico. Quando Always On non è attivato (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 richiesta GET alla radice dell'applicazione ogni cinque minuti. Il ping continuo impedisce che l'app venga scaricata.

      Always On è necessario per processi Web continui o per processi Web attivati tramite un'espressione CRON.

    • Versione HTTP: impostata su 2.0 per abilitare il supporto per il protocollo HTTPS/2 .

    Nota

    I browser più recenti supportano il protocollo HTTP/2 solo su TLS, mentre il traffico non crittografato continua a usare il protocollo 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 Proteggere un nome DNS personalizzato con un'associazione TLS/SSL in Servizio app di Azure.

    • Affinità ARR: in una distribuzione a più istanze assicurarsi che il client sia instradato alla stessa istanza per tutta la durata della sessione. È possibile impostare questa opzione su Disattivato per le applicazioni senza stato.
  • Debug: abilitare il debug remoto per ASP.NET, ASP.NET Core o appNode.js. Questa opzione si disattiva automaticamente dopo 48 ore.

  • Certificati client in ingresso: richiedono certificati client nell'autenticazione reciproca.

Configurare documenti predefiniti

Questa impostazione è solo per le app di Windows.

Il documento predefinito è la pagina Web visualizzata all'URL radice di un'app servizio app. Viene utilizzato il primo file corrispondente dell'elenco. Se l'app usa moduli che instradano in base all'URL anziché gestire il contenuto statico, non è necessario che i documenti predefiniti siano necessari.

  1. Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app.

  2. Nel menu a sinistra dell'app selezionare Configurazione>documenti predefiniti.

    Documenti predefiniti

  3. Per aggiungere un documento predefinito, fare clic su Nuovo documento. Per rimuovere un documento predefinito, fare clic su Elimina a destra.

Eseguire il mapping di un percorso URL a una directory

Per impostazione predefinita, servizio app avvia l'app dalla directory radice del codice dell'app. Alcuni framework Web, però, non vengono avviati nella directory radice. Ad esempio, Laravel viene avviato nella sottodirectory public. Tale app sarebbe accessibile in http://contoso.com/public, ad esempio, ma in genere si vuole indirizzare http://contoso.com alla public directory. Se il file di avvio dell'app si trova in una cartella diversa o se il repository ha più di un'applicazione, è possibile modificare o aggiungere applicazioni virtuali e directory.

  1. Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app.

  2. Nel menu a sinistra dell'app selezionareMapping percorsodi configurazione>

  3. Fare clic su Nuova applicazione virtuale o directory.

    • Per eseguire il mapping di una directory virtuale a un percorso fisico, lasciare selezionata la casella di controllo Directory . Specificare la directory virtuale e il percorso relativo (fisico) corrispondente alla radice del sito Web (D:\home).
    • Per contrassegnare una directory virtuale come applicazione Web, deselezionare la casella di controllo Directory.

    Casella di controllo Directory

  4. Fare clic su OK.

Configurare i mapping dei 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:

  1. Nel Azure portal cercare e selezionare Servizi app, quindi selezionare la propria app.

  2. Nel menu a sinistra dell'app selezionareMapping percorsodi configurazione>.

    Mapping dei percorsi

  3. Fare clic su Nuovo mapping del gestore. Configurare il gestore come segue:

    • Estensione. Estensione del file da gestire, ad esempio *.php o handler.fcgi.
    • Processore di script. Percorso assoluto del processore di script. Le richieste di file che corrispondono all'estensione di file vengono elaborate dal processore di script. Utilizzare il percorso D:\home\site\wwwroot per fare riferimento alla directory radice della propria app.
    • Argomenti. Argomenti della riga di comando facoltativi per il processore di script.
  4. Fare clic su OK.

Configurare contenitori personalizzati

Passaggi successivi