Configurare un'app servizio app

Questo articolo illustra come configurare le impostazioni comuni per app Web, back-end per dispositivi mobili o app per le API. Per Funzioni di Azure, vedere Informazioni di riferimento sulle impostazioni dell'app per Funzioni di Azure.

Configurare le impostazioni applicazione

Nota

  • 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 in servizio app Linux con il valore "pa$$w0rd\" che la stringa per l'impostazione dell'app deve essere:"pa\$\$w0rd\\"

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, rimuovono 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 la password di MySQL locale, in Web.config o appsettings.json e tenere al sicuro i segreti di produzione, ad esempio la password del database MySQL di Azure, nel 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 i riferimenti a Key Vault.

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

    Search for App Services

  2. Nel menu a sinistra dell'app selezionare Impostazioni applicazione di configurazione>.

    Application Settings

    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, selezionare il relativo campo Valore . Per visualizzare i valori nascosti di tutte le impostazioni dell'app, selezionare il pulsante Mostra valori .

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

  4. 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, 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). Tutti i punti nel nome dell'impostazione dell'app verranno sostituiti con un _ (singolo carattere di sottolineatura).

  5. Al termine, selezionare Aggiorna. Non dimenticare di selezionare Salva nella pagina Configurazione.

Modificare le impostazioni dell'app in blocco

Selezionare il pulsante Modifica avanzata. Modificare le impostazioni nell'area di testo. Al termine, selezionare Aggiorna. Non dimenticare di selezionare 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
  },
  ...
]

Configurazione delle stringhe di connessione

Nel portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app. Nel menu a sinistra dell'app selezionare Impostazioni applicazione di configurazione>.

Application Settings

Per gli sviluppatori ASP.NET e ASP.NET Core, l'impostazione di stringa di connessione in servizio app sono simili a quelle impostate in <connectionStrings>Web.config, ma i valori impostati in servizio app sostituiscono quelli in Web.config. È possibile mantenere le impostazioni di sviluppo (ad esempio, un file di database) nei segreti Web.config e 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 gli altri stack di linguaggio, è preferibile usare invece le impostazioni dell'app, perché stringa di connessione richiedono una formattazione speciale nelle chiavi delle variabili per accedere ai valori.

Nota

È possibile usare stringa di connessione anziché le impostazioni dell'app per le lingue non-.NET: viene eseguito il backup di alcuni tipi di database di Azure insieme all'app solo se si configura un 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 stringa 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 un stringa di connessione MySQL denominato 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 ion possono essere risolte anche da Key Vault usando i riferimenti a Key Vault.

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

    Search for App Services

  2. Nel menu a sinistra dell'app selezionare Impostazioni applicazione di configurazione>.

    Application Settings

    Per impostazione predefinita, i valori per le stringa di connessione sono nascosti nel portale per la sicurezza. Per visualizzare un valore nascosto di un stringa di connessione, selezionare il relativo campo Valore. Per visualizzare i valori nascosti di tutti i stringa di connessione, selezionare il pulsante Mostra valore.

  3. Per aggiungere una nuova stringa di connessione, selezionare Nuovo stringa di connessione. Per modificare un stringa di connessione, selezionare il pulsante Modifica sul lato destro.

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

  5. Al termine, selezionare Aggiorna. Non dimenticare di selezionare Salva nella pagina Configurazione.

Modificare stringa di connessione in blocco

Selezionare il pulsante Modifica avanzata. Modificare le stringa di connessione nell'area di testo. Al termine, selezionare Aggiorna. Non dimenticare di selezionare Salva nella pagina Configurazione.

Connessione 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 portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app. Nel menu a sinistra dell'app selezionare Impostazioni generali di configurazione>.

General settings

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.

    General settings for Linux containers

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

    • Bitness della piattaforma: a 32 bit o a 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

    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 app Azure Service.

    • Web socket: per ASP.NET SignalR o socket.io, ad esempio.

    • 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.

    • 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.

    • Solo HTTPS: se abilitato, tutto il traffico HTTP viene reindirizzato 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 Core o Node.js . Questa opzione si disattiva automaticamente dopo 48 ore.

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

Configurare i documenti predefiniti

Questa impostazione è solo per le app di Windows.

Il documento predefinito è la pagina Web visualizzata nell'URL radice di un'app servizio app. Viene usato il primo file corrispondente nell'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 portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.

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

    Default documents

  3. Per aggiungere un documento predefinito, selezionare Nuovo documento. Per rimuovere un documento predefinito, selezionare 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. Un'app di questo tipo sarebbe accessibile http://contoso.com/publicin , 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.

Importante

La directory virtuale in una funzionalità di percorso fisico è disponibile solo nelle app di Windows.

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

  2. Nel menu a sinistra dell'app selezionare Mapping percorso di configurazione>

  3. Selezionare 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.

    Directory check box

  4. Seleziona 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 portale di Azure cercare e selezionare Servizi app, quindi selezionare la propria app.

  2. Nel menu a sinistra dell'app selezionare Mapping percorso di configurazione>.

    Path mappings

  3. Selezionare Nuovo mapping del gestore. Configurare il gestore come segue:

    • Estensione. L'estensione del file da gestire, ad esempio *.php o handler.fcgi.
    • Processore di script. Il percorso assoluto del processore 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 facoltativi della riga dei comando per il processore script.
  4. Seleziona OK.

Configurare contenitori personalizzati

Passaggi successivi