Mengonfigurasi aplikasi App Service
Catatan
Mulai 1 Juni 2024, semua aplikasi App Service yang baru dibuat akan memiliki opsi untuk menghasilkan nama host default yang unik menggunakan konvensi <app-name>-<random-hash>.<region>.azurewebsites.net
penamaan . Nama aplikasi yang ada akan tetap tidak berubah.
Contoh: myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Untuk detail lebih lanjut, lihat Nama Host Default Unik untuk Sumber Daya App Service.
Artikel ini menjelaskan cara mengonfigurasi pengaturan umum untuk aplikasi web, back end seluler, atau aplikasi API. Untuk Azure Functions, lihat Referensi pengaturan aplikasi untuk Azure Functions.
Mengonfigurasi pengaturan aplikasi
Catatan
- Nama pengaturan aplikasi hanya boleh berisi huruf, angka (0-9), titik ("."), dan garis bawah ("_")
- Karakter khusus dalam nilai Pengaturan Aplikasi harus diloloskan sesuai kebutuhan oleh OS target
Misalnya untuk mengatur variabel lingkungan di App Service Linux dengan nilai "pa$$w0rd\"
string untuk pengaturan aplikasi harus: "pa\$\$w0rd\\"
Di App Service, pengaturan aplikasi adalah variabel yang diteruskan sebagai variabel lingkungan ke kode aplikasi. Untuk kontainer khusus dan aplikasi Linux, App Service meneruskan pengaturan aplikasi ke kontainer menggunakan bendera --env
untuk mengatur variabel lingkungan dalam kontainer. Dalam kedua kasus, mereka disuntikkan ke lingkungan aplikasi Anda di startup aplikasi. Saat Anda menambahkan, menghapus, atau mengedit pengaturan aplikasi, App Service memicu memulai ulang aplikasi.
Untuk pengembang ASP.NET dan ASP.NET Core, mengatur pengaturan aplikasi di App Service seperti mengatur aplikasi di <appSettings>
pada Web.config atau appsettings.json, tetapi nilai di App Service menimpa yang ada di Web.config atau appsettings.json. Anda dapat menyimpan pengaturan pengembangan (misalnya, kata sandi MySQL lokal) di Web.config atau appsettings.json dan rahasia produksi (misalnya, kata sandi database Azure MySQL) dengan aman di App Service. Kode yang sama menggunakan pengaturan pengembangan saat Anda melakukan debug secara lokal, dan menggunakan rahasia produksi Anda saat disebarkan ke Azure.
Tumpukan bahasa lainnya, juga mendapatkan pengaturan aplikasi sebagai variabel lingkungan pada runtime. Untuk langkah-langkah spesifik tentang tumpukan bahasa, lihat:
Pengaturan aplikasi selalu dienkripsi saat disimpan (dienkripsi saat istirahat).
Catatan
Jika Anda menyimpan rahasia di pengaturan aplikasi, pertimbangkan untuk menggunakan referensi Key Vault. Jika rahasia Anda adalah untuk konektivitas ke sumber daya back-end, pertimbangkan opsi konektivitas yang lebih aman yang tidak memerlukan rahasia sama sekali. Untuk informasi selengkapnya, lihat Mengamankan konektivitas ke layanan dan database Azure dari Azure App Service.
Di portal Azure, cari dan pilih App Service, lalu pilih aplikasi Anda.
Di menu kiri aplikasi, pilih Pengaturan aplikasi variabel lingkungan>.
Secara default, nilai untuk pengaturan aplikasi disembunyikan di portal untuk alasan keamanan. Untuk melihat nilai tersembunyi dari pengaturan aplikasi, pilih bidang Nilainya. Untuk melihat nilai tersembunyi dari semua pengaturan aplikasi, pilih tombol Perlihatkan nilai .
Untuk menambahkan pengaturan aplikasi baru, pilih Tambahkan. Untuk mengedit pengaturan, klik pengaturan.
Di dialog, Anda dapat menempelkan pengaturan ke slot saat ini.
Catatan
Dalam layanan aplikasi Linux default atau kontainer Linux kustom, struktur utama JSON yang ditumpuk dalam nama pengaturan seperti
ApplicationInsights:InstrumentationKey
perlu dikonfigurasi di App Service sepertiApplicationInsights__InstrumentationKey
sebagai nama kunci. Dengan kata lain, setiap:
harus diganti dengan__
(garis bawah ganda). Setiap periode dalam nama pengaturan aplikasi akan diganti dengan_
(garis bawah tunggal).Setelah selesai, pilih Terapkan. Jangan lupa untuk memilih Terapkan kembali di halaman Variabel lingkungan .
Mengedit pengaturan aplikasi secara massal
Pilih tombol Edit tingkat lanjut. Edit pengaturan di area teks. Setelah selesai, pilih OK. Jangan lupa untuk memilih Terapkan kembali di halaman Variabel lingkungan .
Pengaturan aplikasi memiliki pemformatan JSON berikut ini:
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Konfigurasi string koneksi
Catatan
Pertimbangkan opsi konektivitas yang lebih aman yang tidak memerlukan rahasia koneksi. Untuk informasi selengkapnya, lihat Mengamankan konektivitas ke layanan dan database Azure dari Azure App Service.
Untuk pengembang ASP.NET dan ASP.NET Core, mengatur pengaturan aplikasi di App Service mirip dengan mengatur di <connectionStrings>
pada Web.config, tetapi nilai yang Anda atur di ambil alih App Service yang ada di Web.config. Anda dapat menyimpan pengaturan pengembangan (misalnya, file databse) di Web.config dan rahasia produksi (misalnya, kredensial Database SQL) dengan aman di App Service. Kode yang sama menggunakan pengaturan pengembangan saat Anda melakukan debug secara lokal, dan menggunakan rahasia produksi Anda saat disebarkan ke Azure.
Untuk tumpukan bahasa lain, lebih baik menggunakan pengaturan aplikasi, karena string koneksi memerlukan pemformatan khusus dalam kunci variabel untuk mengakses nilai.
Catatan
Ada satu kasus ketika Anda mungkin ingin menggunakan string koneksi daripada pengaturan aplikasi untuk bahasa non .NET: jenis database Azure tertentu dicadangkan bersama dengan aplikasi hanya apabila Anda mengonfigurasi string koneksi untuk database di aplikasi App Service Anda. Untuk informasi selengkapnya, lihat Membuat cadangan kustom. Jika Anda tidak memerlukan pencadangan otomatis ini, maka gunakan pengaturan aplikasi.
Pada runtime, string koneksi tersedia sebagai variabel lingkungan, diawali dengan jenis koneksi berikut:
- SQLServer:
SQLCONNSTR_
- MySQL:
MYSQLCONNSTR_
- SQLAzure:
SQLAZURECONNSTR_
- Kustom:
CUSTOMCONNSTR_
- PostgreSQL:
POSTGRESQLCONNSTR_
- Notification Hub:
NOTIFICATIONHUBCONNSTR_
- Bus Layanan:
SERVICEBUSCONNSTR_
- Pusat Aktivitas:
EVENTHUBCONNSTR_
- Dokumen DB:
DOCDBCONNSTR_
- Redis Cache:
REDISCACHECONNSTR_
Catatan
Aplikasi .NET yang menargetkan PostgreSQL, Notification Hub, Bus Layanan, Event Hub, Document Db dan Redis Cache harus mengatur string koneksi ke Kustom sebagai solusi untuk masalah yang diketahui di .NET EnvironmentVariablesConfigurationProvider
Misalnya, string koneksi MySQL bernama connectionstring1 dapat diakses sebagai variabel lingkungan MYSQLCONNSTR_connectionString1
. Untuk langkah-langkah spesifik tentang tumpukan bahasa, lihat:
String koneksi selalu dienkripsi saat disimpan (dienkripsi saat istirahat).
Catatan
String koneksi juga dapat diselesaikan dari Brankas Kunci menggunakan referensi Brankas Kunci.
Di portal Azure, cari dan pilih App Service, lalu pilih aplikasi Anda.
Di menu kiri aplikasi, pilih String koneksi variabel lingkungan>.
Secara default, nilai untuk string koneksi disembunyikan di portal untuk keamanan. Untuk melihat nilai tersembunyi dari string koneksi, pilih bidang Nilainya. Untuk melihat nilai tersembunyi dari semua string koneksi, pilih tombol Perlihatkan nilai.
Untuk menambahkan string koneksi baru, pilih Tambahkan. Untuk mengedit string koneksi, pilih string koneksi.
Dalam dialog, Anda dapat menempelkan string koneksi ke slot saat ini.
Setelah selesai, pilih Terapkan. Jangan lupa untuk memilih Terapkan kembali di halaman Variabel lingkungan .
Mengedit string koneksi secara massal
Pilih tombol Edit tingkat lanjut. Edit string koneksi di area teks. Setelah selesai, pilih Terapkan. Jangan lupa untuk memilih Terapkan kembali di halaman Variabel lingkungan .
String koneksi memiliki pemformatan JSON berikut ini:
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Konfigurasikan pengaturan tumpukan bahasa
Konfigurasikan pengaturan umum
Di portal Azure, cari dan pilih App Service, lalu pilih aplikasi Anda. Di menu kiri aplikasi, pilih pengaturan >Konfigurasi Umum.
Di sini, Anda dapat mengonfigurasi beberapa pengaturan umum untuk aplikasi. Beberapa pengaturan mengharuskan Anda untuk meningkatkan ke tingkat harga yang lebih tinggi.
Pengaturan tumpukan: Tumpukan perangkat lunak untuk menjalankan aplikasi, termasuk bahasa dan versi SDK.
Untuk aplikasi Linux, Anda dapat memilih versi runtime bahasa dan mengatur Perintah pengaktifan opsional atau file perintah pengaktifan.
Pengaturan platform: Memungkinkan Anda mengonfigurasi pengaturan untuk platform hosting, termasuk:
- Bitness platform: 32-bit atau 64-bit. Hanya untuk aplikasi Windows.
- Status FTP: Hanya izinkan FTPS atau nonaktifkan semua FTP.
- Versi HTTP: Atur ke 2.0 untuk mengaktifkan dukungan untuk protokol HTTPS/2.
Catatan
Sebagian besar browser modern mendukung protokol HTTP/2 hanya melalui TLS, sementara lalu lintas yang tidak dienkripsi terus menggunakan HTTP/1.1. Untuk memastikan bahwa browser klien terhubung ke aplikasi Anda dengan HTTP/2, amankan nama DNS kustom Anda. Untuk informasi selengkapnya, lihat Mengamankan nama DNS kustom dengan pengikatan data TLS/SSL di Azure App Service.
Soket web: Untuk ASP.NET SignalR atau socket.io, misalnya.
Selalu Hidup: Menjaga aplikasi tetap dimuat bahkan ketika tidak ada lalu lintas. Saat Always On tidak diaktifkan (default), aplikasi dibongkar setelah 20 menit tanpa permintaan masuk. Aplikasi yang dibongkar dapat menyebabkan latensi tinggi untuk permintaan baru karena waktu pemanasannya. Ketika Always On diaktifkan, penyeimbang beban front-end mengirimkan permintaan GET ke root aplikasi setiap lima menit. Ping terus menerus mencegah aplikasi dibongkar.
Always On diperlukan untuk WebJobs berkelanjutan atau untuk WebJobs yang dipicu menggunakan ekspresi CRON.
Afinitas sesi: Dalam penyebaran multi-instans, pastikan bahwa klien dirutekan ke instans yang sama selama masa pakai sesi. Anda dapat mengatur opsi ini ke Nonaktif untuk aplikasi tanpa status.
Proksi afinitas sesi: Proksi afinitas sesi dapat diaktifkan jika aplikasi Anda berada di belakang proksi terbalik (seperti Azure Application Gateway atau Azure Front Door) dan Anda menggunakan nama host default. Domain untuk cookie afinitas sesi akan selaras dengan nama host yang diteruskan dari proksi terbalik.
HANYA HTTPS: Saat diaktifkan, semua lalu lintas HTTP dialihkan ke HTTPS.
Versi TLS minimum: Pilih versi enkripsi TLS minimum yang diperlukan oleh aplikasi Anda.
Penelusuran kesalahan: Mengaktifkan penelusuran jarak jauh untuk aplikasi ASP.NET, ASP.NET Core, atau Node.js. Opsi ini mati secara otomatis setelah 48 jam.
Sertifikat klien masuk: memerlukan sertifikat klien dalam autentikasi bersama.
Konfigurasikan dokumen default
Pengaturan ini hanya untuk aplikasi Windows.
Dokumen default adalah halaman web yang ditampilkan di URL akar aplikasi App Service. File pencocokan pertama dalam daftar digunakan. Jika aplikasi menggunakan modul yang merutekan berdasarkan URL alih-alih menyajikan konten statis, tidak perlu dokumen default.
Di portal Azure, cari dan pilih App Service, lalu pilih aplikasi Anda.
Di menu kiri aplikasi, pilih Konfigurasi>Dokumen default.
Untuk menambahkan dokumen default, pilih Dokumen baru. Untuk menghapus dokumen default, pilih Hapus di sebelah kanannya.
Memetakan jalur URL ke direktori
Secara default, App Service memulai aplikasi Anda dari direktori akar kode aplikasi Anda. Tetapi, kerangka kerja web tertentu tidak dimulai di direktori akar. Misalnya, Laravel dimulai di subdirektori public
. Aplikasi semacam itu dapat diakses di http://contoso.com/public
, misalnya, tetapi Anda biasanya ingin mengarahkan http://contoso.com
ke direktori public
sebagai gantinya. Jika file pengaktifan aplikasi Anda berada di folder yang berbeda, atau jika repositori Anda memiliki lebih dari satu aplikasi, Anda dapat mengedit atau menambahkan aplikasi dan direktori virtual.
Penting
Direktori virtual ke fitur jalur fisik hanya tersedia di aplikasi Windows.
Di portal Azure, cari dan pilih App Service, lalu pilih aplikasi Anda.
Di menu sebelah kiri aplikasi, pilih Konfigurasi>Pemetaan jalur
Pilih Aplikasi atau direktori virtual baru.
- Untuk memetakan direktori virtual ke jalur fisik, biarkan kotak centang Direktori dipilih. Tentukan direktori virtual dan jalur relatif (fisik) yang sesuai ke root situs web (
D:\home
). - Untuk menandai direktori virtual sebagai aplikasi web, kosongkan kotak centang Direktori.
- Untuk memetakan direktori virtual ke jalur fisik, biarkan kotak centang Direktori dipilih. Tentukan direktori virtual dan jalur relatif (fisik) yang sesuai ke root situs web (
Pilih OK. Jangan lupa untuk memilih Simpan di halaman Konfigurasi .
Mengonfigurasi pemetaan penangan
Untuk aplikasi Windows, Anda dapat menyesuaikan pemetaan penghandel IIS dan aplikasi serta direktori virtual. Pemetaan penghandel memungkinkan Anda menambahkan pemroses skrip kustom untuk menangani permintaan ekstensi file tertentu.
Untuk menambahkan penangan kustom:
Di portal Azure, cari dan pilih App Service, lalu pilih aplikasi Anda.
Di menu kiri aplikasi, pilih Konfigurasi>Pemetaan jalur.
Pilih Pemetaan handler baru. Konfigurasikan penghandel sebagai berikut:
- Ekstensi. Ekstensi file yang ingin Anda tangani, seperti *.php atau handler.fcgi.
- Prosesor Skrip. Jalur absolut dari prosesor skrip untuk Anda. Permintaan ke file yang cocok dengan ekstensi file diproses oleh prosesor skrip. Gunakan jalur
D:\home\site\wwwroot
untuk merujuk ke direktori root aplikasi Anda. - Argument. Argumen baris perintah opsional untuk prosesor skrip.
Pilih OK. Jangan lupa untuk memilih Simpan di halaman Konfigurasi .
Konfigurasikan kontainer kustom
- Mengonfigurasikan kontainer kustom untuk Azure App Service
- Menambahkan penyimpanan kustom untuk aplikasi yang disimpan dalam kontainer
Langkah berikutnya
- Variabel lingkungan dan referensi pengaturan aplikasi
- Mengonfigurasi nama domain kustom di Azure App Service
- Menyiapkan lingkungan staging di Azure App Service
- Mengamankan nama DNS kustom dengan pengikatan TLS/SSL di Azure App Service
- Aktifkan log diagnostik
- Meningkatkan skala aplikasi di Azure App Service
- Dasar-dasar pemantauan di Azure App Service
- Mengubah pengaturan applicationHost.config dengan applicationHost.xdt