Wdrażanie aplikacji w usłudze aplikacja systemu Azure przy użyciu protokołu FTP/S

W tym artykule pokazano, jak używać protokołu FTP lub FTPS do wdrażania aplikacji internetowej, zaplecza aplikacji mobilnej lub aplikacji interfejsu API w usłudze aplikacja systemu Azure Service.

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

Uwaga

Jeśli uwierzytelnianie podstawowe FTP jest wyłączone, wdrożenie FTP/S nie działa i nie można wyświetlać ani konfigurować poświadczeń FTP w Centrum wdrażania aplikacji.

Pobieranie poświadczeń wdrożenia

  1. Postępuj zgodnie z instrukcjami w temacie Konfigurowanie poświadczeń wdrożenia dla usługi aplikacja systemu Azure, 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 usłudze 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 utworzyć nazwę użytkownika zakresu użytkownika przy użyciu nazwy 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 FTP centrum>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/directory for 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 wdrożenia zip wdrożenie FTP nie obsługuje automatyzacji kompilacji, takich jak:

  • przywracanie zależności (na przykład automatyzacje NuGet, NPM, PIP i Composer)
  • kompilacja plików binarnych platformy .NET
  • generowanie pliku web.config (oto przykład Node.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ć na protokół FTP tylko 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 zasobów aplikacji w witrynie Azure Portal wybierz pozycję Ustawienia ogólne konfiguracji>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 zakończeniu wybierz Zapisz. W przypadku korzystania tylko z protokołu FTPS należy wymusić protokół TLS 1.2 lub nowszy, przechodząc do strony ustawień protokołu TLS/SSL aplikacji internetowej. Protokoły TLS 1.0 i 1.1 nie są obsługiwane tylko przy użyciu protokołu FTPS.

    Disable FTP/S

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

Wszystkie oficjalnie obsługiwane metody wdrażania powodują wprowadzenie zmian w plikach znajdujących się w folderze /home/site/wwwroot aplikacji. Te pliki są używane do uruchamiania aplikacji. Dlatego wdrożenie może się zakończyć niepowodzeniem z powodu zablokowanych plików. Aplikacja może także działać w sposób nieprzewidywalny w trakcie wdrażania, ponieważ nie wszystkie pliki są aktualizowane jednocześnie. Takie działanie jest niepożądane w przypadku aplikacji przeznaczonych 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 ftp jest izolowanie problemu z wdrożeniem z poziomu aplikacji środowiska uruchomieniowego.

Problem z wdrożeniem zwykle nie 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 odpowiedni zestaw plików wdrożonych w aplikacji, ale nieprawidłowe zachowanie aplikacji. Aby rozwiązać problemy, możesz skoncentrować się na zachowaniu kodu w czasie wykonywania i badaniu 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 rozwiązać ten 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 usłudze aplikacja systemu Azure za pośrednictwem trybu pasywnego?

usługa aplikacja systemu Azure obsługuje łączenie za pośrednictwem trybu aktywnego i pasywnego. Tryb pasywny jest preferowany, ponieważ maszyny wdrożeniowe znajdują się zwykle za zaporą (w systemie operacyjnym lub w ramach sieci domowej lub biznesowej). Zapoznaj się z przykładem z dokumentacji programu WinSCP.

Dlaczego moje połączenie kończy się niepowodzeniem podczas próby nawiązania połączenia za pośrednictwem protokołu FTPS przy użyciu jawnego szyfrowania?

Protokół FTPS umożliwia ustanawianie bezpiecznego połączenia TLS w sposób jawny lub niejawny.

  • Jeśli łączysz się z szyfrowaniem niejawnymi, połączenie zostanie nawiązane za pośrednictwem portu 990.
  • Jeśli połączysz się z szyfrowaniem jawnym, połączenie zostanie nawiązane za pośrednictwem portu 21.

Używany format adresu URL może mieć wpływ na powodzenie połączenia, a także zależy od używanej aplikacji klienckiej. Portal wyświetla adres URL jako ftps://, ale uwaga:

  • Jeśli adres URL, z którym nawiązujesz połączenie, rozpoczyna się od ftp://, połączenie ma być na porcie 21.
  • Jeśli rozpoczyna się od ftps://, połączenie ma być niejawne i na porcie 990.

Pamiętaj, aby nie mieszać obu tych elementów, takich jak próba nawiązania połączenia z ftps:// portem 21 i użycie portu 21, ponieważ nie będzie można nawiązać połączenia, nawet jeśli chcesz wykonać jawne szyfrowanie. Jest to spowodowane jawnym połączeniem rozpoczynającym się jako zwykłe połączenie FTP przed metodą UWIERZYTELNIANIA.

Jak określić metodę, która została użyta do wdrożenia usługi aplikacja systemu Azure Service?

Aby dowiedzieć się, jak aplikacja została wdrożona, sprawdź ustawienia aplikacji. Jeśli aplikacja została wdrożona przy użyciu zewnętrznego adresu URL pakietu, ustawienie powinno zostać wyświetlone WEBSITE_RUN_FROM_PACKAGE w ustawieniach aplikacji z wartością adresu URL. Jeśli wdrożenie zostało wdrożone przy użyciu narzędzia zip deploy, powinno zostać wyświetlone WEBSITE_RUN_FROM_PACKAGE ustawienie z wartością 1. Jeśli aplikacja została wdrożona przy użyciu usługi Azure DevOps, historia wdrażania powinna być widoczna w portalu usługi Azure DevOps. Jeśli są używane narzędzia Azure Functions Core Tools, w witrynie Azure Portal powinna zostać wyświetlona historia wdrażania.

Więcej zasobów