Bagikan melalui


Menyebarkan aplikasi Anda ke Azure App Service menggunakan FTP/S

Artikel ini memperlihatkan kepada Anda cara menggunakan File Transfer Protocol (FTP) atau File Transfer Protocol Secure (FTPS) untuk menyebarkan aplikasi web, backend aplikasi seluler, atau aplikasi API Anda ke Azure App Service. Tidak ada konfigurasi yang diperlukan untuk mengaktifkan penyebaran aplikasi FTP atau FTPS. Titik akhir FTP/S untuk aplikasi Anda sudah aktif.

Nota

Kredensial Penerbitan Autentikasi Dasar SCM dan Kredensial Penerbitan Autentikasi Dasar FTP harus diaktifkan agar penyebaran FTP/S berfungsi. Saat autentikasi dasar dinonaktifkan, penyebaran FTP/S tidak berfungsi, dan Anda tidak dapat melihat atau mengonfigurasi kredensial FTP/S di Pusat Penyebaran aplikasi.

Mendapatkan kredensial penyebaran

Untuk mendapatkan kredensial untuk penyebaran, ikuti instruksi di Mengonfigurasi kredensial penyebaran untuk Azure App Service. Salin kredensial cakupan aplikasi untuk aplikasi Anda, atau atur dan salin kredensial cakupan pengguna. Anda dapat terhubung ke titik akhir FTP/S aplikasi dengan menggunakan salah satu set kredensial.

Untuk kredensial cakupan aplikasi, format nama pengguna FTP/S adalah <app-name>\$<app-name>. Untuk kredensial cakupan pengguna, format nama pengguna FTP/S adalah <app-name>\<username>. Titik akhir FTP/S pada App Service digunakan bersama oleh aplikasi, dan karena kredensial tingkat pengguna tidak ditautkan ke sumber daya tertentu, Anda harus diawali nama pengguna dengan nama aplikasi.

Mendapatkan titik akhir FTP/S

Untuk mendapatkan titik akhir FTP/S:

Pada halaman portal Microsoft Azure untuk aplikasi Anda, pilih Pusat Penyebaran di bawah Penyebaran di menu navigasi kiri. Pada tab Kredensial FTPS , salin URL Titik Akhir FTPS .

Menyebarkan file ke Azure

Untuk menyebarkan file ke Azure dengan FTP/S:

  1. Dari klien FTP/S Anda seperti Visual Studio, Cyberduck, atau WinSCP, gunakan informasi koneksi Anda untuk menyambungkan ke aplikasi Anda.
  2. Salin file Anda dan struktur direktorinya 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.

Nota

Tidak seperti penyebaran Git lokal dan penyebaran ZIP, penyebaran FTP/S tidak mendukung otomatisasi build seperti:

  • Memulihkan dependensi seperti NuGet, NPM, PIP, dan Composer secara otomatis.
  • Mengkompilasi biner .NET.
  • Menghasilkan file web.config .

Anda harus membuat file yang diperlukan ini secara manual di komputer lokal Anda lalu menyebarkannya dengan aplikasi Anda. Untuk contoh web.configNode.js , lihat Menggunakan web.config kustom untuk aplikasi Node.

Menerapkan FTPS

FTPS adalah bentuk FTP yang lebih aman yang menggunakan Transport Layer Security (TLS) dan Secure Sockets Layer (SSL). Untuk keamanan yang ditingkatkan, Anda harus memberlakukan FTPS melalui TLS/SSL. Anda juga dapat menonaktifkan FTP dan FTPS jika Anda tidak menggunakan penyebaran FTP.

Untuk menonaktifkan FTP yang tidak terenkripsi:

  1. Pada halaman portal Microsoft Azure untuk aplikasi Anda, pilih Konfigurasi di bawah Pengaturan di menu navigasi kiri.

  2. Pada tab Pengaturan umum halaman Konfigurasi , di bawah Pengaturan platform, pilih FTPS hanya untuk status FTP. Atau untuk menonaktifkan FTP dan FTPS sepenuhnya, pilih Dinonaktifkan.

    Cuplikan layar yang memperlihatkan pengaturan status FTP ke FTPS saja.

  3. Jika Anda hanya memilih FTPS, pastikan TLS 1.2 atau yang lebih tinggi diberlakukan untuk Pengaturan TLS Masuk Minimum. TLS 1.0 dan 1.1 tidak didukung hanya untuk FTPS.

  4. Pilih Simpan di bagian atas halaman.

Memecahkan masalah penyebaran FTP/S

Apa yang terjadi pada aplikasi saya selama penyebaran yang dapat menyebabkan kegagalan atau perilaku yang tidak dapat diprediksi?

Metode penyebaran yang didukung secara resmi membuat perubahan pada file di folder /home/site/wwwroot yang digunakan untuk menjalankan aplikasi Anda. Pengoperasian dapat gagal karena file yang terkunci. Aplikasi ini mungkin juga bertingkah tidak terduga selama penyebaran jika file tidak diperbarui secara bersamaan, yang tidak diinginkan untuk aplikasi yang berhadapan dengan pelanggan.

Ada beberapa cara untuk menghindari masalah ini.

Apa langkah pertama dalam pemecahan masalah penyebaran FTP/S?

Langkah pertama untuk memecahkan masalah penyebaran FTP/S adalah membedakan antara masalah penyebaran dan masalah aplikasi runtime.

  • Masalah penyebaran biasanya menghasilkan tidak ada file atau file yang salah yang diterapkan ke aplikasi Anda. Anda dapat memecahkan masalah dengan menyelidiki penyebaran FTP/S Anda atau memilih jalur penyebaran alternatif, seperti kontrol sumber.

  • Masalah aplikasi runtime biasanya menghasilkan 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 informasi selengkapnya, lihat Masalah penyebaran vs. runtime.

Mengapa saya tidak dapat melakukan FTP/S dan menerbitkan kode saya?

Periksa apakah Anda memasukkan nama host dan kredensial yang benar. Pastikan juga firewall tidak memblokir port FTP/S berikut di komputer Anda:

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

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

Azure App Service mendukung koneksi melalui mode aktif dan pasif. Mode pasif lebih disukai karena mesin penyebaran biasanya berada di belakang firewall dalam sistem operasi atau sebagai bagian dari jaringan rumah atau bisnis. Untuk contoh koneksi mode pasif, lihat Halaman Koneksi (dialog Pengaturan Situs Tingkat Lanjut).

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

FTPS memungkinkan pembuatan koneksi aman TLS eksplisit atau implisit.

  • Jika Anda terhubung dengan enkripsi eksplisit, koneksi dibuat melalui port 21.
  • Jika Anda terhubung dengan enkripsi implisit, koneksi dibuat melalui port 990.

Format URL yang Anda gunakan dapat memengaruhi keberhasilan koneksi Anda, dan bergantung pada aplikasi klien Anda. Portal menunjukkan URL sebagai ftps://, tetapi jika URL yang Anda sambungkan dimulai dengan ftp://, koneksi tersirat berada di port 21. Jika URL dimulai dengan ftps://, koneksi implisit dan tersirat berada di port 990.

Pastikan untuk tidak mencampur pengaturan, seperti mencoba menyambungkan ftps:// dengan menggunakan port 21. Pengaturan ini gagal tersambung bahkan menggunakan enkripsi eksplisit, karena koneksi eksplisit dimulai sebagai koneksi FTP biasa sebelum AUTH metode .

Bagaimana cara menentukan metode apa yang digunakan untuk menyebarkan aplikasi saya?

Anda dapat mengetahui bagaimana aplikasi disebarkan dengan memeriksa pengaturan aplikasi di halaman portal Microsoft Azure-nya. Pilih Variabel lingkungan di bawah Pengaturan di menu navigasi kiri. Pada tab Pengaturan aplikasi :

  • Jika aplikasi disebarkan menggunakan URL paket eksternal, pengaturan WEBSITE_RUN_FROM_PACKAGE akan muncul di pengaturan aplikasi dengan nilai URL.
  • Jika aplikasi disebarkan dengan deploy ZIP, pengaturan WEBSITE_RUN_FROM_PACKAGE akan muncul dengan nilai 1.

Jika Anda menyebarkan aplikasi menggunakan Azure DevOps, Anda dapat melihat riwayat penyebaran di portal Azure DevOps. Jika Anda menggunakan Azure Functions Core Tools, Anda dapat melihat riwayat penyebaran di portal Microsoft Azure.