FTP/S kullanarak uygulamanızı Azure Uygulaması Hizmetine dağıtma

Bu makalede web uygulamanızı, mobil uygulama arka ucunuzu veya API uygulamanızı Azure Uygulaması Hizmeti'ne dağıtmak için FTP veya FTPS'nin nasıl kullanılacağı gösterilmektedir.

Uygulamanızın FTP/S uç noktası zaten etkin. FTP/S dağıtımlarını etkinleştirmek için yapılandırma gerekmez.

Not

FTP temel kimlik doğrulaması devre dışı bırakıldığında FTP/S dağıtımı çalışmaz ve uygulamanın Dağıtım Merkezi'nde FTP kimlik bilgilerini görüntüleyemez veya yapılandıramazsınız.

Dağıtım kimlik bilgilerini alma

  1. Uygulama kapsamı kimlik bilgilerini kopyalamak veya kullanıcı kapsamı kimlik bilgilerini ayarlamak için Azure Uygulaması Hizmeti için dağıtım kimlik bilgilerini yapılandırma başlığındaki yönergeleri izleyin. Herhangi bir kimlik bilgilerini kullanarak uygulamanızın FTP/S uç noktasına bağlanabilirsiniz.

  2. FTP kullanıcı adını, seçtiğiniz kimlik bilgisi kapsamına bağlı olarak aşağıdaki biçimde oluşturun:

    Uygulama kapsamı Kullanıcı kapsamı
    <app-name>\$<app-name> <app-name>\<deployment-user>

    App Service'te FTP/S uç noktası uygulamalar arasında paylaşılır. Kullanıcı kapsamı kimlik bilgileri belirli bir kaynağa bağlı olmadığından, yukarıda gösterildiği gibi kullanıcı kapsamı kullanıcı adını uygulama adıyla önceden eklemeniz gerekir.

FTP/S uç noktasını alma

Uygulamanızın dağıtım kimlik bilgilerini kopyaladığınız yönetim sayfasında (Dağıtım Merkezi>FTP Kimlik Bilgileri), FTPS uç noktasını kopyalayın.

Azure'a dosya dağıtma

  1. FTP istemcinizden (örneğin, Visual Studio, Cyberduck veya WinSCP) uygulamanıza bağlanmak için topladığınız bağlantı bilgilerini kullanın.
  2. Dosyalarınızı ve ilgili dizin yapılarını Azure'daki /site/wwwroot dizinine (veya Web İşleri için /site/wwwroot/App_Data/Jobs/ dizinine) kopyalayın.
  3. Uygulamanın düzgün çalıştığını doğrulamak için uygulamanızın URL'sine göz atın.

Not

Git tabanlı dağıtımların ve Zip dağıtımının aksine, FTP dağıtımı derleme otomasyonlarını desteklemez, örneğin:

  • bağımlılık geri yüklemeleri (NuGet, NPM, PIP ve Composer otomasyonları gibi)
  • .NET ikili dosyalarının derlenmesi
  • web.config oluşturma (aşağıda Node.js bir örnek verilmiştir)

Bu gerekli dosyaları yerel makinenizde el ile oluşturun ve ardından bunları uygulamanızla birlikte dağıtın.

FTP'leri zorunlu kılma

Gelişmiş güvenlik için yalnızca TLS/SSL üzerinden FTP'ye izin vermelisiniz. FTP dağıtımı kullanmıyorsanız hem FTP hem de FTPS'yi devre dışı bırakabilirsiniz.

  1. Uygulamanızın Azure portalındaki kaynak sayfasında sol gezinti bölmesinden Yapılandırma>Genel ayarları'nı seçin.

  2. Şifrelenmemiş FTP'yi devre dışı bırakmak için Yalnızca FTP durumunda FTPS'yi seçin. Hem FTP hem de FTPS'yi tamamen devre dışı bırakmak için Devre Dışı'yı seçin. İşlem tamamlandığında Kaydet'i seçin. Yalnızca FTPS kullanıyorsanız, web uygulamanızın TLS/SSL ayarları sayfasına giderek TLS 1.2 veya üzerini zorunlu kılmanız gerekir. TLS 1.0 ve 1.1 yalnızca FTPS ile desteklenmez.

    Disable FTP/S

Dağıtım sırasında uygulamama ne olur?

Resmi olarak desteklenen tüm dağıtım yöntemleri, uygulamanızın /home/site/wwwroot klasöründeki dosyalarda değişiklik yapar. Uygulamanızı çalıştırmak için bu dosyalar kullanılır. Bu dosyalar kilitliyse dağıtım başarısız olabilir. Tüm dosyalar aynı anda güncelleştirilmediğinden uygulama dağıtım sırasında tahmin edilemeyen davranışlar da gösterebilir. Müşterilere yönelik uygulamalarda bu tür davranışlar istenmez. Bu sorunlardan kaçınmanın birkaç yolu vardır:

FTP dağıtımı sorunlarını giderme

FTP dağıtımı sorunlarını nasıl giderebilirim?

FTP dağıtımı sorunlarını gidermenin ilk adımı, bir dağıtım sorununu çalışma zamanı uygulaması sorunundan yalıtmadır.

Dağıtım sorunu genellikle uygulamanıza hiç dosya veya yanlış dosya dağıtılmamayla sonuçılır. FTP dağıtımınızı araştırarak veya alternatif bir dağıtım yolu (kaynak denetimi gibi) seçerek sorun giderebilirsiniz.

Çalışma zamanı uygulaması sorunu genellikle uygulamanıza dağıtılan doğru dosya kümesine ama yanlış uygulama davranışına neden olur. Çalışma zamanında kod davranışına odaklanarak ve belirli hata yollarını araştırarak sorun giderebilirsiniz.

Dağıtım veya çalışma zamanı sorununu belirlemek için bkz . Dağıtım ve çalışma zamanı sorunları.

FTP kullanamıyorum ve kodumu yayımlayamıyorum. Sorunu nasıl çözebilirim?

Doğru ana bilgisayar adını ve kimlik bilgilerini girdiğinizi denetleyin. Ayrıca makinenizdeki aşağıdaki FTP bağlantı noktalarının güvenlik duvarı tarafından engellenmediğini denetleyin:

  • FTP denetimi bağlantı noktası: 21, 990
  • FTP veri bağlantısı bağlantı noktası: 989, 10001-10300

Pasif mod aracılığıyla Azure Uygulaması Hizmeti'nde FTP'ye nasıl bağlanabilirim?

Azure Uygulaması Hizmeti hem Etkin hem de Pasif mod üzerinden bağlanmayı destekler. Dağıtım makineleriniz genellikle bir güvenlik duvarının arkasında olduğundan (işletim sisteminde veya bir ev veya iş ağının parçası olarak) pasif mod tercih edilir. WinSCP belgelerinden bir örne bakın.

Açık şifreleme kullanarak FTPS üzerinden bağlanmaya çalışırken bağlantım neden başarısız oluyor?

FTPS, TLS güvenli bağlantısının açık veya örtük bir şekilde kurulmasına olanak tanır.

  • Örtük şifreleme ile bağlanırsanız bağlantı 990 numaralı bağlantı noktası üzerinden kurulur.
  • Açık şifreleme ile bağlanırsanız bağlantı 21 numaralı bağlantı noktası üzerinden kurulur.

Kullandığınız URL biçimi bağlantı başarınızı etkileyebilir ve kullandığınız istemci uygulamasına da bağlıdır. Portal URL'yi olarak ftps://gösterir, ancak şunları not edin:

  • Bağlandığınız URL ile ftp://başlıyorsa, bağlantının 21 numaralı bağlantı noktasında olduğu belirtilir.
  • ile ftps://başlıyorsa, bağlantı örtük ve bağlantı noktası 990'da yer alır.

Açık şifreleme yapmak isteseniz bile bağlantı kurulamayacağı için bağlantı noktası 21'e ftps:// bağlanmaya ve bağlantı noktası 21'i kullanmaya çalışma gibi her ikisini de karıştırmadığınızdan emin olun. Bunun nedeni, AUTH yönteminden önce düz FTP bağlantısı olarak başlayan açık bir bağlantıdır.

Azure Uygulaması Hizmetimi dağıtmak için kullanılan yöntemi nasıl belirleyebilirim?

Uygulama ayarlarını denetleyerek uygulamanın nasıl dağıtıldığını öğrenebilirsiniz. Uygulama bir dış paket URL'si kullanılarak dağıtıldıysa, url değeri olan uygulama ayarlarında bu ayarı görmeniz WEBSITE_RUN_FROM_PACKAGE gerekir. Veya zip dağıtımı kullanılarak dağıtıldıysa değerini içeren WEBSITE_RUN_FROM_PACKAGE ayarı 1görmeniz gerekir. Uygulama Azure DevOps kullanılarak dağıtıldıysa Azure DevOps portalında dağıtım geçmişini görmeniz gerekir. Azure İşlevleri Temel Araçlar kullanılıyorsa Azure portalında dağıtım geçmişini görmeniz gerekir.

Diğer kaynaklar