Dela via


Konfigurera en App Service-app

Kommentar

Från och med den 1 juni 2024 har alla nyligen skapade App Service-appar möjlighet att generera ett unikt standardvärdnamn med hjälp av namngivningskonventionen <app-name>-<random-hash>.<region>.azurewebsites.net. Befintliga appnamn förblir oförändrade.

Exempel: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Mer information finns i Unikt standardvärdnamn för App Service-resurs.

Den här artikeln beskriver hur du konfigurerar vanliga inställningar för webbappar, mobil serverdel eller API-app. Information om Azure Functions finns i Referens för appinställningar för Azure Functions.

Konfigurera appinställningar

Kommentar

  • Namn på appinställningar kan bara innehålla bokstäver, siffror (0–9), punkter ("." och understreck ("_")
  • Specialtecken i värdet för en appinställning måste undantagas efter behov av måloperativsystemet

Om du till exempel vill ange en miljövariabel i App Service Linux med värdet "pa$$w0rd\" ska strängen för appinställningen vara: "pa\$\$w0rd\\"

I App Service är appinställningar variabler som skickas som miljövariabler till programkoden. För Linux-appar och anpassade containrar skickar App Service appinställningar till containern --env med hjälp av flaggan för att ange miljövariabeln i containern. I båda fallen matas de in i din appmiljö vid appstart. När du lägger till, tar bort eller redigerar appinställningar utlöser App Service en omstart av appen.

För ASP.NET och ASP.NET Core-utvecklare är det som att ange appinställningar i App Service som att ange dem i <appSettings> Web.config eller appsettings.json, men värdena i App Service åsidosätter dem i Web.config eller appsettings.json. Du kan behålla utvecklingsinställningar (till exempel lokalt MySQL-lösenord) i Web.config eller appsettings.json och produktionshemligheter (till exempel Azure MySQL-databaslösenord) på ett säkert sätt i App Service. Samma kod använder dina utvecklingsinställningar när du felsöker lokalt och använder dina produktionshemligheter när de distribueras till Azure.

Andra språkstackar hämtar på samma sätt appinställningarna som miljövariabler vid körning. Specifika steg för språkstack finns i:

Appinställningar krypteras alltid när de lagras (krypterade i vila).

Kommentar

Om du lagrar hemligheter i appinställningar bör du överväga att använda Key Vault-referenser. Om dina hemligheter gäller för anslutning till serverdelsresurser bör du överväga säkrare anslutningsalternativ som inte kräver hemligheter alls. Mer information finns i Säker anslutning till Azure-tjänster och -databaser från Azure App Service.

  1. I Azure Portal söker du efter och väljer App Services och väljer sedan din app.

    Sök efter App Services

  2. I appens vänstra meny väljer du Miljövariabler>Appinställningar.

    Skärmbild som visar hur du navigerar till sidan Appinställningar.

    Som standard döljs värden för appinställningar i portalen av säkerhetsskäl. Om du vill se ett dolt värde för en appinställning väljer du dess värdefält . Om du vill se dolda värden för alla appinställningar väljer du knappen Visa värden .

  3. Om du vill lägga till en ny appinställning väljer du Lägg till. Om du vill redigera en inställning klickar du på inställningen.

  4. I dialogrutan kan du hålla inställningen till det aktuella facket.

    Kommentar

    I en linux-standardapptjänst eller en anpassad Linux-container måste valfri kapslad JSON-nyckelstruktur i appinställningsnamnet ApplicationInsights:InstrumentationKey konfigureras i App Service som ApplicationInsights__InstrumentationKey för nyckelnamnet. Med andra ord bör alla : ersättas med __ (dubbelt understreck). Alla perioder i appinställningens namn ersätts med ett _ (enda understreck).

  5. När du är klar väljer du Använd. Glöm inte att välja Använd igen på sidan Miljövariabler.

Massredigera appinställningar

Välj knappen Avancerad redigering. Redigera inställningarna i textområdet. När du är klar väljer du OK. Glöm inte att välja Använd igen på sidan Miljövariabler.

Appinställningarna har följande JSON-formatering:

[
  {
    "name": "<key-1>",
    "value": "<value-1>",
    "slotSetting": false
  },
  {
    "name": "<key-2>",
    "value": "<value-2>",
    "slotSetting": false
  },
  ...
]

Konfigurera anslutningssträngar

Kommentar

Överväg säkrare anslutningsalternativ som inte kräver anslutningshemligheter alls. Mer information finns i Säker anslutning till Azure-tjänster och -databaser från Azure App Service.

För ASP.NET och ASP.NET Core-utvecklare är inställningen anslutningssträng i App Service som att ange dem i <connectionStrings> Web.config, men de värden som du anger i App Service åsidosätter dem i Web.config. Du kan behålla utvecklingsinställningar (till exempel en databasfil) i Web.config och produktionshemligheter (till exempel SQL Database-autentiseringsuppgifter) på ett säkert sätt i App Service. Samma kod använder dina utvecklingsinställningar när du felsöker lokalt och använder dina produktionshemligheter när de distribueras till Azure.

För andra språkstackar är det bättre att använda appinställningar i stället, eftersom anslutningssträng kräver särskild formatering i variabelnycklarna för att få åtkomst till värdena.

Kommentar

Det finns ett fall där du kanske vill använda anslutningssträng i stället för appinställningar för non-.NET språk: vissa Azure-databastyper säkerhetskopieras endast tillsammans med appen om du konfigurerar en anslutningssträng för databasen i App Service-appen. Mer information finns i Skapa en anpassad säkerhetskopia. Om du inte behöver den här automatiserade säkerhetskopieringen använder du appinställningar.

Vid körning är anslutningssträng tillgängliga som miljövariabler, prefix med följande anslutningstyper:

  • SQLServer: SQLCONNSTR_
  • MySQL: MYSQLCONNSTR_
  • SQLAzure: SQLAZURECONNSTR_
  • Sed: CUSTOMCONNSTR_
  • PostgreSQL: POSTGRESQLCONNSTR_
  • Notification Hub: NOTIFICATIONHUBCONNSTR_
  • Service Bus: SERVICEBUSCONNSTR_
  • Händelsehubb: EVENTHUBCONNSTR_
  • Dokumentdatabas: DOCDBCONNSTR_
  • Redis Cache: REDISCACHECONNSTR_

Kommentar

.NET-appar som riktar sig till PostgreSQL, Notification Hub, Service Bus, Event Hub, Document Db och Redis Cache bör ange anslutningssträng till Anpassad som lösning för ett känt problem i .NET EnvironmentVariablesConfigurationProvider

Till exempel kan en MySQL-anslutningssträng med namnet connectionstring1 nås som miljövariabeln MYSQLCONNSTR_connectionString1. Specifika steg för språkstack finns i:

Anslutningssträngar krypteras alltid när de lagras (krypterade i vila).

Kommentar

Anslutningssträngar kan också matchas från Key Vault med hjälp av Key Vault-referenser.

  1. I Azure Portal söker du efter och väljer App Services och väljer sedan din app.

    Sök efter App Services

  2. I appens vänstra meny väljer du Miljövariabler>Anslutningssträngar.

    Skärmbild som visar användargränssnittet öppet för anslutningssträngar.

    Som standard döljs värden för anslutningssträng i portalen för säkerhet. Om du vill se ett dolt värde för en anslutningssträng väljer du fältet Värde. Om du vill se dolda värden för alla anslutningssträng väljer du knappen Visa värde.

  3. Om du vill lägga till en ny anslutningssträng väljer du Lägg till. Om du vill redigera en anslutningssträng väljer du anslutningssträng.

  4. I dialogrutan kan du hålla anslutningssträng till det aktuella facket.

  5. När du är klar väljer du Använd. Glöm inte att välja Använd igen på sidan Miljövariabler.

Massredigera anslutningssträng

Välj knappen Avancerad redigering. Redigera anslutningssträng i textområdet. När du är klar väljer du Använd. Glöm inte att välja Använd igen på sidan Miljövariabler.

Anslutningssträngar har följande JSON-formatering:

[
  {
    "name": "name-1",
    "value": "conn-string-1",
    "type": "SQLServer",
    "slotSetting": false
  },
  {
    "name": "name-2",
    "value": "conn-string-2",
    "type": "PostgreSQL",
    "slotSetting": false
  },
  ...
]

Konfigurera inställningar för språkstacken

Konfigurera allmänna inställningar

I Azure Portal söker du efter och väljer App Services och väljer sedan din app. I appens vänstra meny väljer du Konfiguration>Allmänna inställningar.

Allmänna inställningar

Här kan du konfigurera några vanliga inställningar för appen. Vissa inställningar kräver att du skalar upp till högre prisnivåer.

  • Stackinställningar: Programvarustacken för att köra appen, inklusive språk- och SDK-versioner.

    För Linux-appar kan du välja språkkörningsversion och ange ett valfritt startkommando eller en startkommandofil.

    Allmänna inställningar för Linux-containrar

  • Plattformsinställningar: Låter dig konfigurera inställningar för värdplattformen, inklusive:

    • Plattformsbitness: 32-bitars eller 64-bitars. Endast för Windows-appar.
    • FTP-tillstånd: Tillåt endast FTPS eller inaktivera FTP helt och hållet.
    • HTTP-version: Ange till 2.0 för att aktivera stöd för HTTPS/2-protokoll .

    Kommentar

    De flesta moderna webbläsare stöder endast HTTP/2-protokoll via TLS, medan icke-krypterad trafik fortsätter att använda HTTP/1.1. Skydda ditt anpassade DNS-namn för att säkerställa att klientwebbläsare ansluter till din app med HTTP/2. Mer information finns i Skydda ett anpassat DNS-namn med en TLS/SSL-bindning i Azure App Service.

    • Webbuttag: För ASP.NET SignalR eller socket.io, till exempel.

    • AlwaysOn: Håller appen inläst även om det inte finns någon trafik. När AlwaysOn inte är aktiverat (standard) tas appen bort efter 20 minuter utan inkommande begäranden. Den borttagna appen kan orsaka långa svarstider för nya begäranden på grund av uppvärmningstiden. När Always On är aktiverat skickar frontend-lastbalanseraren en GET-begäran till programroten var femte minut. Det är viktigt att se till att den här begäran får ett 200 OK-svar för att säkerställa att eventuella återavbildningsåtgärder utförs korrekt. Den kontinuerliga pingen förhindrar att appen tas bort.

      AlwaysOn krävs för kontinuerliga webbjobb eller för webbjobb som utlöses med hjälp av ett CRON-uttryck.

    • Sessionstillhörighet: I en distribution med flera instanser kontrollerar du att klienten dirigeras till samma instans under sessionens livslängd. Du kan ställa in det här alternativet på Av för tillståndslösa program.

    • Proxy för sessionstillhörighet: Proxy för sessionstillhörighet kan aktiveras om din app finns bakom en omvänd proxy (till exempel Azure Application Gateway eller Azure Front Door) och du använder standardvärdens namn. Domänen för sessionstillhörighetscookien överensstämmer med det vidarebefordrade värdnamnet från den omvända proxyn.

    • Endast HTTPS: När den är aktiverad omdirigeras all HTTP-trafik till HTTPS.

    • Lägsta TLS-version: Välj den lägsta TLS-krypteringsversion som krävs av din app.

  • Felsökning: Aktivera fjärrfelsökning för ASP.NET, ASP.NET Core eller Node.js appar. Det här alternativet inaktiveras automatiskt efter 48 timmar.

  • Inkommande klientcertifikat: kräver klientcertifikat i ömsesidig autentisering.

Konfigurera standarddokument

Den här inställningen gäller endast för Windows-appar.

Standarddokumentet är den webbsida som visas på rot-URL:en för en App Service-app. Den första matchande filen i listan används. Om appen använder moduler som dirigeras baserat på URL i stället för att hantera statiskt innehåll behöver du inte använda standarddokument.

  1. I Azure Portal söker du efter och väljer App Services och väljer sedan din app.

  2. I appens vänstra meny väljer du Standarddokument för konfiguration>.

    Standarddokument

  3. Om du vill lägga till ett standarddokument väljer du Nytt dokument. Om du vill ta bort ett standarddokument väljer du Ta bort till höger.

Mappa en URL-sökväg till en katalog

Som standard startar App Service din app från rotkatalogen för din appkod. Men vissa webbramverk startar inte i rotkatalogen. Laravel startar till exempel i underkatalogen public. En sådan app skulle till exempel vara tillgänglig på http://contoso.com/public, men du vill vanligtvis dirigera http://contoso.com till public katalogen i stället. Om appens startfil finns i en annan mapp, eller om lagringsplatsen har fler än ett program, kan du redigera eller lägga till virtuella program och kataloger.

Viktigt!

Virtuell katalog till en fysisk sökvägsfunktion är endast tillgänglig i Windows-appar.

  1. I Azure Portal söker du efter och väljer App Services och väljer sedan din app.

  2. I appens vänstra meny väljer du Mappningar för konfigurationssökväg>

  3. Välj Nytt virtuellt program eller katalog.

    • Om du vill mappa en virtuell katalog till en fysisk sökväg lämnar du kryssrutan Katalog markerad. Ange den virtuella katalogen och motsvarande relativa (fysiska) sökväg till webbplatsroten (D:\home).
    • Om du vill markera en virtuell katalog som ett webbprogram avmarkerar du kryssrutan Katalog .

    Kryssrutan Katalog

  4. Välj OK. Glöm inte att välja Sparasidan Konfiguration .

Konfigurera hanterarmappningar

För Windows-appar kan du anpassa IIS-hanterarmappningar och virtuella program och kataloger. Med hanterarmappningar kan du lägga till anpassade skriptprocessorer för att hantera begäranden för specifika filnamnstillägg.

Så här lägger du till en anpassad hanterare:

  1. I Azure Portal söker du efter och väljer App Services och väljer sedan din app.

  2. I appens vänstra meny väljer du Mappningar för konfigurationssökväg>.

    Sökvägsmappningar

  3. Välj Ny hanterarmappning. Konfigurera hanteraren på följande sätt:

    • Tillägg. Filnamnstillägget som du vill hantera, till exempel *.php eller handler.fcgi.
    • Skriptprocessor. Den absoluta sökvägen för skriptprocessorn till dig. Begäranden till filer som matchar filtillägget bearbetas av skriptprocessorn. Använd sökvägen D:\home\site\wwwroot för att referera till appens rotkatalog.
    • Argument. Valfria kommandoradsargument för skriptprocessorn.
  4. Välj OK. Glöm inte att välja Sparasidan Konfiguration .

Konfigurera anpassade containrar

Nästa steg