Menyebarkan aplikasi Anda ke Azure App Service menggunakan FTP/S

Artikel ini memperlihatkan kepada Anda cara menggunakan FTP atau FTPS untuk menyebarkan aplikasi web, ujung belakang aplikasi seluler, atau aplikasi API ke Azure App Service.

Titik akhir FTP/S untuk aplikasi Anda sudah aktif. Tidak perlu konfigurasi untuk mengaktifkan penyebaran FTP/S.

Catatan

Saat autentikasi dasar FTP dinonaktifkan, penyebaran FTP/S tidak berfungsi, dan Anda tidak dapat melihat atau mengonfigurasi kredensial FTP di Pusat Penyebaran aplikasi.

Mendapatkan info masuk penyebaran

  1. Ikuti instruksi di Mengonfigurasi info masuk penyebaran untuk Azure App Service untuk menyalin info masuk cakupan aplikasi atau mengatur info masuk cakupan pengguna. Anda dapat tersambung ke titik akhir FTP/S aplikasi menggunakan salah satu info masuk.

  2. Buat nama pengguna FTP dalam format berikut, bergantung pada cakupan info masuk pilihan Anda:

    Cakupan aplikasi Cakupan pengguna
    <app-name>\$<app-name> <app-name>\<deployment-user>

    Di App Service, titik akhir FTP/S dibagikan antar-aplikasi. Karena info masuk cakupan pengguna tidak ditautkan ke sumber daya tertentu, Anda harus melakukan prepend pada nama pengguna cakupan pengguna dengan nama aplikasi seperti yang ditunjukkan di atas.

Mendapatkan titik akhir FTP/S

Di halaman manajemen yang sama untuk aplikasi tempat Anda menyalin info masuk penyebaran (Pusat Penyebaran>Info masuk FTP), salin titik akhir FTPS.

Menyebarkan file ke Azure

  1. Dari klien FTP Anda (misalnya, Visual Studio, Cyberduck, atau WinSCP), gunakan informasi koneksi yang Anda kumpulkan untuk tersambung ke aplikasi Anda.
  2. Salin file Anda dan struktur direktori masing-masing ke direktori /site/wwwroot di Azure (atau direktori /site/wwwroot/App_Data/Jobs/ untuk WebJobs).
  3. Telusuri URL aplikasi Anda untuk memverifikasi bahwa aplikasi berjalan dengan benar.

Catatan

Tidak seperti penyebaran berbasis Git dan penyebaran Zip, penyebaran FTP tidak mendukung automasi build, seperti:

  • pemulihan dependensi (seperti NuGet, NPM, PIP, dan automasi Komposer)
  • kompilasi biner .NET
  • pembuatan web.config (di sini adalah contohNode.js baru)

Buat file yang diperlukan ini secara manual di komputer lokal Anda, lalu sebarkan bersama dengan aplikasi Anda.

Menerapkan FTPS

Untuk keamanan yang ditingkatkan, Anda harus mengizinkan FTP hanya melalui TLS/SSL. Anda juga dapat menonaktifkan FTP dan FTPS jika Anda tidak menggunakan penyebaran FTP.

  1. Di halaman sumber daya aplikasi Anda di portal Azure, pilih Konfigurasi>Pengaturan umum dari navigasi kiri.

  2. Untuk menonaktifkan FTP yang tidak terenkripsi, pilih Hanya FTPS dalam Status FTP. Untuk menonaktifkan FTP dan FTPS sepenuhnya, pilih Dinonaktifkan. Setelah selesai, pilih Simpan. Jika hanya menggunakan FTPS, Anda harus memberlakukan TLS 1.2 atau yang lebih tinggi dengan menavigasi ke halaman pengaturan TLS/SSL aplikasi web Anda. TLS 1.0 dan 1.1 tidak didukung dengan FTPS Saja.

    Disable FTP/S

Apa yang terjadi pada aplikasi saya selama penyebaran?

Semua metode penyebaran yang didukung secara resmi membuat perubahan pada file di folder /home/site/wwwroot aplikasi Anda. File ini digunakan untuk menjalankan aplikasi Anda. Jadi penyebaran dapat gagal karena file terkunci. Aplikasi mungkin juga berperilaku tidak terduga selama penyebaran karena semua file tidak diperbarui secara bersamaan. Perilaku ini tidak diinginkan untuk aplikasi yang digunakan pelanggan. Ada beberapa cara untuk menghindari masalah ini:

Memecahkan masalah penyebaran FTP

Bagaimana cara memecahkan masalah penyebaran FTP?

Langkah pertama untuk memecahkan masalah penyebaran FTP adalah mengisolasi masalah penyebaran dari masalah aplikasi runtime.

Masalah penyebaran biasanya tidak menghasilkan file atau menghasilkan file yang salah yang disebarkan ke aplikasi Anda. Anda dapat memecahkan masalah dengan menyelidiki penyebaran FTP atau memilih jalur penyebaran alternatif (seperti kontrol sumber).

Masalah aplikasi runtime biasanya menghasilkan kumpulan file yang tepat yang disebarkan ke aplikasi Anda tetapi perilaku aplikasi yang salah. Anda dapat memecahkan masalah dengan berfokus pada perilaku kode pada runtime dan menyelidiki jalur kegagalan tertentu.

Untuk menentukan masalah penyebaran atau runtime, lihat Masalah penyebaran vs. runtime.

Saya tidak dapat melakukan FTP dan menerbitkan kode saya. Bagaimana cara mengatasi masalah ini?

Periksa apakah Anda memasukkan nama host dan kredensial yang benar. Periksa juga bahwa port FTP berikut pada komputer Anda tidak diblokir oleh firewall:

  • Port koneksi kontrol FTP: 21, 990
  • Port koneksi data FTP: 989, 10001-10300

Bagaimana cara menyambungkan ke FTP di Azure App Service melalui mode pasif?

Azure App Service mendukung penyambungan melalui mode Aktif dan Pasif. Mode pasif lebih disukai karena komputer penyebaran Anda biasanya berada di belakang firewall (di sistem operasi atau sebagai bagian dari jaringan rumah atau bisnis). Lihat contoh dari dokumentasi WinSCP.

Mengapa koneksi saya gagal saat mencoba menyambungkan melalui FTPS menggunakan enkripsi eksplisit?

FTPS memungkinkan pembuatan koneksi aman TLS dengan cara Eksplisit atau Implisit.

  • Jika Anda terhubung dengan enkripsi Implisit, koneksi dibuat melalui port 990.
  • Jika Anda terhubung dengan enkripsi Eksplisit, koneksi dibuat melalui port 21.

Format URL yang Anda gunakan dapat memengaruhi keberhasilan koneksi Anda, dan itu juga tergantung pada aplikasi klien yang Anda gunakan. Portal menunjukkan URL sebagai ftps://, tetapi perhatikan:

  • Jika URL yang Anda sambungkan dimulai dengan ftp://, koneksi tersirat berada di port 21.
  • Jika dimulai dengan ftps://, koneksi tersirat menjadi Implisit dan pada port 990.

Pastikan untuk tidak mencampur keduanya, seperti mencoba menyambungkan dan ftps:// menggunakan port 21, karena akan gagal terhubung, bahkan jika Anda ingin melakukan enkripsi Eksplisit. Hal ini disebabkan oleh koneksi Eksplisit yang dimulai sebagai koneksi FTP biasa sebelum metode AUTH.

Bagaimana cara menentukan metode yang digunakan untuk menyebarkan Azure App Service saya?

Anda dapat mengetahui bagaimana aplikasi disebarkan dengan memeriksa pengaturan aplikasi. Jika aplikasi disebarkan menggunakan URL paket eksternal, Anda akan melihat WEBSITE_RUN_FROM_PACKAGE pengaturan di pengaturan aplikasi dengan nilai URL. Atau jika disebarkan menggunakan penyebaran zip, Anda akan melihat WEBSITE_RUN_FROM_PACKAGE pengaturan dengan nilai 1. Jika aplikasi disebarkan menggunakan Azure DevOps, Anda akan melihat riwayat penyebaran di portal Azure DevOps. Jika Azure Functions Core Tools digunakan, Anda akan melihat riwayat penyebaran di portal Azure.

Sumber daya lainnya