Wdrażanie aplikacji w Azure App Service przy użyciu protokołu FTP/S

W tym artykule pokazano, jak za pomocą protokołu FTP lub FTPS wdrożyć aplikację internetową, zaplecze aplikacji mobilnej lub aplikację interfejsu API w celu Azure App Service.

Punkt końcowy FTP/S dla aplikacji jest już aktywny. Do włączenia wdrożenia FTP/S nie jest wymagana żadna konfiguracja.

Uwaga

Strona Centrum deweloperów (wersja klasyczna) w Azure Portal, która jest starym środowiskiem wdrażania, zostanie wycofana w marcu 2021 r. Ta zmiana nie wpłynie na żadne istniejące ustawienia wdrożenia w aplikacji i można nadal zarządzać wdrażaniem aplikacji na stronie Centrum wdrażania .

Pobieranie poświadczeń wdrożenia

  1. Postępuj zgodnie z instrukcjami w temacie Konfigurowanie poświadczeń wdrożenia dla Azure App Service, aby skopiować poświadczenia zakresu aplikacji lub ustawić poświadczenia zakresu użytkownika. Możesz nawiązać połączenie z punktem końcowym FTP/S aplikacji przy użyciu poświadczeń.

  2. Utwórz nazwę użytkownika FTP w następującym formacie, w zależności od wybranego zakresu poświadczeń:

    Zakres aplikacji Zakres użytkownika
    <app-name>\$<app-name> <app-name>\<deployment-user>

    W App Service punkt końcowy FTP/S jest współużytkowany między aplikacjami. Ponieważ poświadczenia zakresu użytkownika nie są połączone z określonym zasobem, należy wstępnie otworzyć nazwę użytkownika o nazwie aplikacji, jak pokazano powyżej.

Uzyskiwanie punktu końcowego FTP/S

Na tej samej stronie zarządzania aplikacji, na której skopiowano poświadczenia wdrożenia (poświadczenia FTPCentrum> wdrażania), skopiuj punkt końcowy FTPS.

Wdrażanie plików na platformie Azure

  1. Z poziomu klienta FTP (na przykład Visual Studio, Cyberduck lub WinSCP) użyj zebranych informacji o połączeniu, aby nawiązać połączenie z aplikacją.
  2. Skopiuj pliki i ich odpowiednią strukturę katalogów do katalogu /site/wwwroot na platformie Azure (lub /site/wwwroot/App_Data/Jobs/ katalogu dla zadań WebJobs).
  3. Przejdź do adresu URL aplikacji, aby sprawdzić, czy aplikacja działa prawidłowo.

Uwaga

W przeciwieństwie do wdrożeń opartych na usłudze Git i wdrażania zip wdrożenie FTP nie obsługuje automatyzacji kompilacji, takich jak:

  • przywracanie zależności (takie jak NuGet, NPM, PIP i Composer automations)
  • kompilacja plików binarnych platformy .NET
  • generowanie web.config (oto przykładNode.js)

Wygeneruj te niezbędne pliki ręcznie na komputerze lokalnym, a następnie wdróż je razem z aplikacją.

Wymuszanie protokołu FTPS

W przypadku zwiększonych zabezpieczeń należy zezwolić tylko na protokół FTP za pośrednictwem protokołu TLS/SSL. Możesz również wyłączyć protokół FTP i FTPS, jeśli nie używasz wdrożenia FTP.

  1. Na stronie zasobu aplikacji w Azure Portal wybierz pozycjęUstawienia ogólnekonfiguracji> w obszarze nawigacji po lewej stronie.

  2. Aby wyłączyć niezaszyfrowany protokół FTP, wybierz pozycję FTPS Tylko w stanie FTP. Aby całkowicie wyłączyć protokół FTP i FTPS, wybierz pozycję Wyłączone. Po skończeniu kliknij przycisk Zapisz. Jeśli używasz tylko protokołu FTPS, musisz wymusić protokół TLS 1.2 lub nowszy, przechodząc do bloku ustawień protokołu TLS/SSL aplikacji internetowej. Protokół TLS 1.0 i 1.1 nie są obsługiwane tylko z protokołem FTPS.

    Wyłączanie protokołu FTP/S

Co się stanie z moją aplikacją podczas wdrażania?

Wszystkie oficjalnie obsługiwane metody wdrażania wprowadzają zmiany w plikach w folderze /home/site/wwwroot aplikacji. Te pliki są używane do uruchamiania aplikacji. Wdrożenie może zakończyć się niepowodzeniem z powodu zablokowanych plików. Aplikacja może również zachowywać się nieprzewidywalnie podczas wdrażania, ponieważ pliki nie są aktualizowane w tym samym czasie. To zachowanie jest niepożądane dla aplikacji przeznaczonej dla klientów. Istnieje kilka sposobów uniknięcia tych problemów:

Rozwiązywanie problemów z wdrażaniem protokołu FTP

Jak mogę rozwiązać problemy z wdrażaniem protokołu FTP?

Pierwszym krokiem rozwiązywania problemów z wdrażaniem protokołu FTP jest izolowanie problemu z wdrożeniem z poziomu aplikacji środowiska uruchomieniowego.

Problem z wdrożeniem zwykle powoduje, że w aplikacji nie są wdrażane żadne pliki ani nieprawidłowe pliki. Możesz rozwiązać problemy, badając wdrożenie FTP lub wybierając alternatywną ścieżkę wdrożenia (np. kontrolę źródła).

Problem z aplikacją środowiska uruchomieniowego zwykle powoduje prawidłowy zestaw plików wdrożonych w aplikacji, ale nieprawidłowe zachowanie aplikacji. Możesz rozwiązać problem, koncentrując się na zachowaniu kodu w czasie wykonywania i badania określonych ścieżek awarii.

Aby określić problem z wdrożeniem lub środowiskiem uruchomieniowym, zobacz Problemy z wdrażaniem a środowiskiem uruchomieniowym.

I'm not able to FTP and publish my code. Jak mogę rozwiązać problem?

Sprawdź, czy wprowadzono poprawną nazwę hosta i poświadczenia. Sprawdź również, czy następujące porty FTP na maszynie nie są blokowane przez zaporę:

  • Port połączenia sterowania FTP: 21, 990
  • Port połączenia danych FTP: 989, 10001-10300

Jak nawiązać połączenie z protokołem FTP w Azure App Service za pośrednictwem trybu pasywnego?

Azure App Service obsługuje nawiązywanie połączeń za pośrednictwem trybu aktywnego i pasywnego. Tryb pasywny jest preferowany, ponieważ maszyny wdrażania są zwykle za zaporą (w systemie operacyjnym lub w ramach sieci domowej lub biznesowej). Zobacz przykład z dokumentacji narzędzia WinSCP.

Jak mogę określić metodę, która została użyta do wdrożenia Azure App Service?

Załóżmy, że przejmujesz aplikację i chcesz dowiedzieć się, jak wdrożono Azure App Service, aby można było wprowadzać zmiany i wdrażać je. Możesz określić, jak wdrożono Azure App Service, sprawdzając ustawienia aplikacji. Jeśli aplikacja została wdrożona przy użyciu zewnętrznego adresu URL pakietu, zobaczysz ustawienie WEBSITE_RUN_FROM_PACKAGE w ustawieniach aplikacji z wartością adresu URL. Lub jeśli został wdrożony przy użyciu wdrożenia zip, zobaczysz ustawienie WEBSITE_RUN_FROM_PACKAGE z wartością 1. Jeśli aplikacja została wdrożona przy użyciu usługi Azure DevOps, w portalu usługi Azure DevOps zostanie wyświetlona historia wdrożenia. Jeśli użyto Azure Functions Core Tools, w Azure Portal zostanie wyświetlona historia wdrażania.

Więcej zasobów