Dela via


Distribuera din app till Azure App Service med FTP/S

Den här artikeln visar hur du använder File Transfer Protocol (FTP) eller File Transfer Protocol Secure (FTPS) för att distribuera din webbapp, mobilappsserverdel eller API-app till Azure App Service. Ingen konfiguration krävs för att aktivera FTP- eller FTPS-appdistribution. FTP/S-slutpunkten för din app är redan aktiv.

Anmärkning

Både SCM Basic Auth Publishing Credentials och FTP Basic Auth Publishing Credentials måste vara aktiverade för att FTP/S-distributionen ska fungera. När grundläggande autentisering är inaktiverad fungerar inte FTP/S-distributionen och du kan inte visa eller konfigurera FTP/S-autentiseringsuppgifter i appens distributionscenter.

Hämta autentiseringsuppgifter för distribution

Om du vill hämta autentiseringsuppgifter för distribution följer du anvisningarna i Konfigurera autentiseringsuppgifter för distribution för Azure App Service. Kopiera autentiseringsuppgifterna för programomfattningen för din app eller ange och kopiera autentiseringsuppgifter för användaromfattning. Du kan ansluta till appens FTP/S-slutpunkt med hjälp av någon av autentiseringsuppgifterna.

För autentiseringsuppgifter för programomfattning är FTP/S-användarnamnformatet <app-name>\$<app-name>. För autentiseringsuppgifter för användaromfattning är FTP/S-användarnamnformatet <app-name>\<username>. App Service FTP/S-ändpunkter delas mellan appar och eftersom autentiseringsuppgifter på användarnivå inte är länkade till en specifik resurs behöver du inleda användarnamnet med appnamnet.

Hämta FTP/S-slutpunkten

För att hämta FTP/S-slutpunkten:

På sidan Azure-portalen för din app väljer du Distributionscenter under Distribution i den vänstra navigeringsmenyn. På fliken FTPS-autentiseringsuppgifter kopierar du FTPS-slutpunkts-URL :en.

Distribuera filer till Azure

Så här distribuerar du filer till Azure med FTP/S:

  1. Från FTP/S-klienten, till exempel Visual Studio, Cyberduck eller WinSCP, använder du din anslutningsinformation för att ansluta till din app.
  2. Kopiera dina filer och deras katalogstruktur till katalogen /site/wwwroot i Azure eller katalogen /site/wwwroot/App_Data/Jobs/ för WebJobs.
  3. Bläddra till appens URL för att kontrollera att appen körs korrekt.

Anmärkning

Till skillnad från lokal Git-distribution och ZIP-distribution stöder FTP/S-distribution inte byggautomatisering, till exempel:

  • Återställa beroenden som NuGet, NPM, PIP och Composer Automation.
  • Kompilera .NET-binärfiler.
  • Genererar en fil web.config.

Du måste generera de nödvändiga filerna manuellt på den lokala datorn och sedan distribuera dem med din app. Ett Node.js web.config exempel finns i Använda en anpassad web.config för Node-appar.

Framtvinga FTPS

FTPS är en säkrare form av FTP som använder TLS (Transport Layer Security) och Secure Sockets Layer (SSL). För förbättrad säkerhet bör du framtvinga FTPS via TLS/SSL. Du kan också inaktivera både FTP och FTPS om du inte använder FTP-distribution.

Så här inaktiverar du okrypterad FTP:

  1. På sidan Azure-portalen för din app väljer du Konfiguration under Inställningar i den vänstra navigeringsmenyn.

  2. På fliken Allmänna inställningar på sidan Konfiguration går du till Plattformsinställningar och väljer ENDAST FTPS för FTP-tillstånd. Om du vill inaktivera både FTP och FTPS helt väljer du Inaktiverad.

    Skärmbild som visar inställningen FTP-tillstånd till ENDAST FTPS.

  3. Om du bara väljer FTPS kontrollerar du att TLS 1.2 eller senare tillämpas för lägsta inkommande TLS-inställningar. TLS 1.0 och 1.1 stöds inte endast för FTPS.

  4. Överst på sidan väljer du Spara.

Felsöka FTP/S-utplacering

Vad händer med min app under distributionen som kan orsaka fel eller oförutsägbart beteende?

Distributionsmetoder som stöds officiellt gör ändringar i filer i mappen /home/site/wwwroot som används för att köra appen. Distributionen kan misslyckas på grund av låsta filer. Appen kan också bete sig oförutsägbart under distributionen om alla filer inte uppdateras samtidigt, vilket inte är önskvärt för en kundinriktad app.

Det finns några sätt att undvika dessa problem.

Vilket är det första steget i felsökningen av FTP/S-distribution?

Det första steget i felsökningen av FTP/S-implementering är att skilja mellan implementeringsproblem och körningsproblem i applikationen.

  • Ett distributionsproblem resulterar vanligtvis i att inga filer eller felaktiga filer distribueras till din app. Du kan felsöka genom att undersöka FTP/S-distributionen eller välja en alternativ distributionssökväg, till exempel källkontroll.

  • Ett körningsprogramproblem resulterar vanligtvis i rätt filer som distribueras till din app men felaktigt appbeteende. Du kan felsöka genom att fokusera på kodbeteende vid körning och undersöka specifika felvägar.

För mer information, se Distribuerings- kontra körningsproblem.

Varför kan jag inte FTP/S och publicera min kod?

Kontrollera att du har angett rätt värdnamn och autentiseringsuppgifter. Kontrollera också att en brandvägg inte blockerar följande FTP/S-portar på datorn:

  • FTP/S-kontrollanslutningsportar: 21, 990
  • FTP/S-dataanslutningsportar: 989, 10001-10300

Hur ansluter jag till FTP/S i Azure App Service via passivt läge?

Azure App Service stöder anslutning via både aktiva och passiva lägen. Passivt läge är att föredra eftersom distributionsdatorer vanligtvis ligger bakom en brandvägg i operativsystemet eller som en del av ett hem- eller företagsnätverk. Ett exempel på en passiv lägesanslutning finns i dialogrutan Anslutningssida (Avancerade webbplatsinställningar).)

Varför misslyckas anslutningen när jag försöker ansluta via FTPS med explicit kryptering?

FTPS gör det möjligt att upprätta en explicit eller implicit TLS-säker anslutning.

  • Om du ansluter med explicit kryptering upprättas anslutningen via port 21.
  • Om du ansluter med implicit kryptering upprättas anslutningen via port 990.

Det URL-format som du använder kan påverka anslutningens framgång och beror på klientprogrammet. Portalen visar URL:en som ftps://, men om url:en som du ansluter med börjar med ftp://är anslutningen underförstådd på port 21. Om URL:en börjar med ftps://är anslutningen implicit och underförstådd på port 990.

Se till att inte blanda inställningarna, till exempel att försöka ansluta till ftps:// med hjälp av port 21. Den här inställningen kan inte ansluta även med explicit kryptering, eftersom en explicit anslutning startar som en vanlig FTP-anslutning före AUTH metoden.

Hur kan jag avgöra vilken metod som användes för att distribuera min app?

Du kan ta reda på hur en app har distribuerats genom att kontrollera programinställningarna på sidan i Azure-portalen. Välj Miljövariabler under Inställningar i den vänstra navigeringsmenyn. På fliken Appinställningar :

  • Om appen har distribuerats med hjälp av en extern paket-URL WEBSITE_RUN_FROM_PACKAGE visas inställningen i programinställningarna med ett URL-värde.
  • Om appen har distribuerats med ZIP-distribution WEBSITE_RUN_FROM_PACKAGE visas inställningen med värdet 1.

Om du distribuerade appen med Azure DevOps kan du se distributionshistoriken i Azure DevOps-portalen. Om du använde Azure Functions Core Tools kan du se distributionshistoriken i Azure-portalen.