Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak używać protokołu FTP (File Transfer Protocol) lub Bezpiecznego protokołu FTP (FTPS) do wdrożenia aplikacji internetowej, zaplecza aplikacji mobilnej lub aplikacji API w usłudze Azure App Service. Do włączenia wdrożenia aplikacji FTP lub FTPS nie jest konieczna żadna konfiguracja. Punkt końcowy FTP/S dla aplikacji jest już aktywny.
Uwaga / Notatka
Zarówno Podstawowe poświadczenia uwierzytelniania SCM do publikowania, jak i Podstawowe poświadczenia uwierzytelniania FTP do publikowania muszą być włączone, aby wdrożenie FTP/S działało. Jeśli uwierzytelnianie podstawowe jest wyłączone, wdrożenie FTP/S nie działa i nie można wyświetlać ani konfigurować poświadczeń FTP/S w Centrum wdrażania aplikacji.
Pobierz poświadczenia wdrożenia
Aby uzyskać poświadczenia do wdrożenia, postępuj zgodnie z instrukcjami w temacie Konfigurowanie poświadczeń wdrożenia dla usługi Azure App Service. Skopiuj poświadczenia zakresu aplikacji dla Twojej aplikacji lub ustaw i skopiuj poświadczenia zakresu użytkownika. Możesz nawiązać połączenie z punktem końcowym FTP/S aplikacji przy użyciu dowolnego zestawu poświadczeń.
W przypadku poświadczeń zakresu aplikacji format nazwy użytkownika FTP/S to <app-name>\$<app-name>
. W przypadku poświadczeń zakresu użytkownika format nazwy użytkownika FTP/S to <app-name>\<username>
. Punkty końcowe FTP/S usługi App Service są współużytkowane przez aplikacje, a poświadczenia zakresu użytkownika nie są połączone z określonym zasobem, należy wstępnie utworzyć nazwę użytkownika z nazwą aplikacji.
Pobierz punkt końcowy FTP/S
Aby uzyskać punkt końcowy FTP/S:
Na stronie witryny Azure Portal dla aplikacji wybierz pozycję Centrum wdrażania w obszarze Wdrażanie w menu nawigacji po lewej stronie. Na karcie Poświadczenia FTPS skopiuj adres URL punktu końcowego FTPS .
Wdrażanie plików na platformie Azure
Aby wdrożyć pliki na platformie Azure przy użyciu protokołu FTP/S:
- Z poziomu klienta FTP/S, takiego jak Visual Studio, Cyberduck lub WinSCP, użyj informacji o połączeniu, aby nawiązać połączenie z aplikacją.
- Skopiuj pliki i ich strukturę katalogów do katalogu /site/wwwroot na platformie Azure lub katalogu /site/wwwroot/App_Data/Jobs/ dla zadań WebJob.
- Przejdź do adresu URL aplikacji, aby sprawdzić, czy aplikacja działa prawidłowo.
Uwaga / Notatka
W przeciwieństwie do lokalnego wdrożenia usługi Git i wdrożenia ZIP wdrożenie FTP/S nie obsługuje automatyzacji kompilacji, takiej jak:
- Przywracanie zależności, takich jak NuGet, NPM, PIP i automatyzacja Composer.
- Kompilowanie plików binarnych platformy .NET.
- Generowanie pliku web.config .
Te niezbędne pliki należy wygenerować ręcznie na komputerze lokalnym, a następnie wdrożyć je przy użyciu aplikacji. Aby uzyskać przykład Node.js web.config, zobacz Używanie niestandardowego web.config dla aplikacji Node.
Wymuszanie protokołu FTPS
FTPS to bezpieczniejsza forma protokołu FTP korzystająca z protokołu Transport Layer Security (TLS) i Secure Sockets Layer (SSL). W przypadku zwiększonych zabezpieczeń należy wymusić protokół FTPS 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.
Aby wyłączyć niezaszyfrowany protokół FTP:
Na stronie witryny Azure Portal dla aplikacji wybierz pozycję Konfiguracja w obszarze Ustawienia w menu nawigacji po lewej stronie.
Na karcie Ustawienia ogólne na stronie Konfiguracja w obszarze Ustawienia platformy wybierz pozycję FTPS tylko dla stanu FTP. Możesz też całkowicie wyłączyć protokół FTP i FTPS, a następnie wybrać pozycję Wyłączone.
W przypadku wybrania tylko protokołu FTPS upewnij się, że protokół TLS 1.2 lub nowszy jest wymuszany dla minimalnych ustawień protokołu TLS dla ruchu przychodzącego. Protokoły TLS 1.0 i 1.1 nie są obsługiwane tylko w przypadku protokołu FTPS.
W górnej części strony wybierz pozycję Zapisz.
Rozwiązywanie problemów z wdrażaniem ftp/S
- Co się stanie z moją aplikacją podczas wdrażania, która może spowodować awarię lub nieprzewidywalne zachowanie?
- Jaki jest pierwszy krok rozwiązywania problemów z wdrażaniem ftp/S?
- Dlaczego nie mogę korzystać z protokołu FTP/S i opublikować kodu?
- Jak nawiązać połączenie z protokołem FTP/S w usłudze App Service za pośrednictwem trybu pasywnego?
- Dlaczego moje połączenie kończy się niepowodzeniem podczas próby nawiązania połączenia za pośrednictwem usługi FTPS przy użyciu jawnego szyfrowania?
- Jak określić, która metoda została użyta do wdrożenia mojej aplikacji?
Co się stanie z moją aplikacją podczas wdrażania, która może spowodować awarię lub nieprzewidywalne zachowanie?
Oficjalnie obsługiwane metody wdrażania wprowadzają zmiany w plikach w folderze /home/site/wwwroot , które 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, jeśli pliki nie są aktualizowane w tym samym czasie, co jest niepożądane dla aplikacji dostępnej dla klienta.
Istnieje kilka sposobów, aby uniknąć tych problemów.
- Uruchom aplikację bezpośrednio z pakietu ZIP bez rozpakowywania.
- Zatrzymaj aplikację lub włącz tryb offline podczas wdrażania. Aby uzyskać więcej informacji, zobacz Radzenie sobie z zablokowanymi plikami podczas wdrażania.
- Wdróż aplikację w miejscu przejściowym z włączoną funkcją automatycznej zamiany.
Jaki jest pierwszy krok rozwiązywania problemów z wdrażaniem ftp/S?
Pierwszym krokiem rozwiązywania problemów z wdrożeniem FTP/S jest rozróżnienie problemów z wdrażaniem i problemów z aplikacją środowiska uruchomieniowego.
Problem z wdrożeniem zazwyczaj skutkuje brakiem plików lub wdrożeniem niewłaściwych plików do aplikacji. Możesz rozwiązać problemy, badając wdrożenie FTP/S lub wybierając alternatywną ścieżkę wdrożenia, taką jak kontrola źródła.
Problem z aplikacją środowiska uruchomieniowego zazwyczaj powoduje wdrożenie odpowiednich plików 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 uzyskać więcej informacji, zobacz Wdrażanie i problemy ze środowiskiem uruchomieniowym.
Dlaczego nie mogę korzystać z protokołu FTP/S i opublikować kodu?
Sprawdź, czy wprowadzono poprawną nazwę hosta i dane uwierzytelniające. Upewnij się również, że zapora nie blokuje następujących portów FTP/S na maszynie:
- Porty kontroli połączenia FTP/S:
21
,990
- Porty połączenia danych FTP/S:
989
,10001-10300
Jak nawiązać połączenie z protokołem FTP/S w usłudze Azure App Service za pośrednictwem trybu pasywnego?
Usługa Azure App Service obsługuje nawiązywanie połączeń zarówno za pośrednictwem trybów aktywnych, jak i pasywnych. Tryb pasywny jest preferowany, ponieważ maszyny wdrożeniowe są zwykle za zaporą w systemie operacyjnym lub w ramach sieci domowej lub biznesowej. Aby zapoznać się z przykładem połączenia w trybie pasywnym, zobacz Strona połączenia (okno dialogowe Zaawansowane ustawienia witryny).
Dlaczego moje połączenie kończy się niepowodzeniem podczas próby nawiązania połączenia za pośrednictwem usługi FTPS przy użyciu jawnego szyfrowania?
Protokół FTPS umożliwia nawiązywanie jawnego lub niejawnego bezpiecznego połączenia TLS.
- Jeśli połączysz się z jawnym szyfrowaniem, połączenie zostanie nawiązane za pośrednictwem portu
21
. - W przypadku nawiązywania połączenia za pomocą niejawnego szyfrowania połączenie zostanie nawiązane za pośrednictwem portu
990
.
Używany format adresu URL może mieć wpływ na powodzenie połączenia i zależy od aplikacji klienckiej. W portalu jest wyświetlany adres URL jako ftps://
, ale jeśli adres URL, z którym nawiązujesz połączenie, rozpoczyna się od ftp://
, połączenie ma być na porcie 21
. Jeśli adres URL zaczyna się od ftps://
, połączenie jest domyślnie na porcie 990
.
Pamiętaj, aby nie mieszać ustawień, takich jak próba nawiązania połączenia ftps://
przy użyciu portu 21
. To ustawienie nie może nawiązać połączenia nawet przy użyciu jawnego szyfrowania, ponieważ jawne połączenie rozpoczyna się jako zwykłe połączenie FTP przed AUTH
metodą .
Jak określić, która metoda została użyta do wdrożenia mojej aplikacji?
Aby dowiedzieć się, jak aplikacja została wdrożona, sprawdź ustawienia aplikacji na stronie witryny Azure Portal. Wybierz pozycję Zmienne środowiskowe w obszarze Ustawienia w menu nawigacji po lewej stronie. Na karcie Ustawienia aplikacji :
- Jeśli aplikacja została wdrożona przy użyciu zewnętrznego adresu URL pakietu,
WEBSITE_RUN_FROM_PACKAGE
ustawienie zostanie wyświetlone w ustawieniach aplikacji z wartością adresu URL. - Jeśli aplikacja została wdrożona przy użyciu narzędzia ZIP deploy,
WEBSITE_RUN_FROM_PACKAGE
ustawienie zostanie wyświetlone z wartością1
.
Jeśli aplikacja została wdrożona przy użyciu usługi Azure DevOps, historia wdrażania będzie widoczna w portalu usługi Azure DevOps. Jeśli używasz narzędzi Azure Functions Core Tools, możesz zobaczyć historię wdrażania w witrynie Azure Portal.
Powiązane zasoby
- Lokalne wdrożenie Git do usługi Azure App Service
- Poświadczenia wdrożenia usługi Azure App Service
- Przykład: tworzenie aplikacji internetowej i wdrażanie plików za pomocą protokołu FTP (interfejs wiersza polecenia platformy Azure)
- Przykład: przekazywanie plików do aplikacji internetowej przy użyciu protokołu FTP (PowerShell)