Memberikan keamanan untuk nama DNS kustom dengan pengikatan TLS/SSL di App Service
Artikel ini memperlihatkan kepada Anda cara memberikan keamanan untuk domain kustom di aplikasi App Service atau aplikasi fungsi Anda dengan membuat pengikatan sertifikat. Setelah selesai, Anda dapat mengakses aplikasi Azure App Service di titik akhir https://
untuk nama DNS kustom Anda (misalnya, https://www.contoso.com
).
Prasyarat
- Tingkatkan skala aplikasi App Service Anda ke salah satu tingkat harga yang didukung: Dasar, Standar, Premium.
- Petakan nama domain ke aplikasi Anda atau beli dan konfigurasikan di Azure.
Menambahkan pengikatan
Dari menu sebelah kiri, pilih App Services><app-name.>
Dari navigasi kiri aplikasi Anda, pilih Domain kustom.
Di samping domain kustom, pilih Tambahkan pengikatan.
Jika aplikasi Anda sudah memiliki sertifikat untuk domain kustom yang dipilih, Anda dapat memilihnya di Sertifikat. Jika tidak, Anda harus menambahkan sertifikat menggunakan salah satu pilihan di Sumber.
- Buat Sertifikat Terkelola App Service - Biarkan App Service membuat sertifikat terkelola untuk domain yang Anda pilih. Opsi ini adalah yang paling mudah. Untuk informasi selengkapnya, lihat Membuat sertifikat terkelola gratis.
- Impor Sertifikat App Service - Di Sertifikat App Service, pilih sertifikat App Service yang telah Anda beli untuk domain yang Anda pilih.
- Unggah sertifikat (.pfx) - Ikuti alur kerja di Unggah sertifikat privat untuk mengunggah sertifikat PFX dari komputer lokal Anda dan tentukan kata sandi sertifikat.
- Impor dari Key Vault - Pilih Pilih sertifikat brankas kunci dan pilih sertifikat dalam dialog.
Dalam jenis TLS/SSL, pilih SNI SSL atau SSL berbasis IP.
- SNI SSL: Beberapa pengikatan SNI SSL dapat ditambahkan. Opsi ini memungkinkan beberapa sertifikat TLS/SSL untuk membantu mengamankan beberapa domain pada alamat IP yang sama. Sebagian besar browser modern (termasuk Microsoft Edge, Chrome, Firefox, dan Opera) mendukung SNI. (Untuk informasi selengkapnya, lihat Indikasi Nama Server.)
- SSL berbasis IP: Hanya satu pengikatan IP SSL yang dapat ditambahkan. Opsi ini hanya memungkinkan satu sertifikat TLS/SSL untuk membantu mengamankan alamat IP publik khusus. Setelah Anda mengonfigurasi pengikatan, ikuti langkah-langkah dalam Remap rekaman untuk SSL berbasis IP.
SSL berbasis IP hanya didukung di tingkat Standar atau yang lebih tinggi.
Saat menambahkan sertifikat baru, validasi sertifikat baru dengan memilih Validasi.
Pilih Tambahkan.
Setelah operasi selesai, status TLS/SSL domain kustom diubah menjadi Aman.
Catatan
Status Aman di Domain kustom berarti bahwa sertifikat memberikan keamanan, tetapi App Service tidak memeriksa apakah sertifikat ditandatangani sendiri atau kedaluwarsa, misalnya, yang juga dapat menyebabkan browser menunjukkan kesalahan atau peringatan.
Memetakan ulang rekaman untuk SSL berbasis IP
Langkah ini hanya diperlukan untuk SSL berbasis IP. Untuk pengikatan SNI SSL, lewati ke Uji HTTPS.
Berpotensi ada dua perubahan yang perlu Anda lakukan:
Secara default, aplikasi Anda menggunakan alamat IP publik bersama. Saat Anda mengikat sertifikat dengan IP SSL, Azure App Service membuat alamat IP baru, berdedikasi untuk aplikasi Anda. Jika Anda memetakan catatan A ke aplikasi, perbarui registri domain Anda dengan alamat IP baru khusus ini.
Halaman domain Kustom aplikasi Anda diperbarui dengan alamat IP khusus yang baru. Salin alamat IP ini, lalu rekam ulang catatan A ke alamat IP baru ini.
Jika Anda memiliki pengikatan SNI SSL ke
<app-name>.azurewebsites.net
, perbaiki pemetaan CNAME apa pun untuk menunjuk kesni.<app-name>.azurewebsites.net
sebagai gantinya. (Tambahkan awalansni
.)
Uji HTTPS
Telusuri https://<your.custom.domain>
di berbagai browser untuk memverifikasi bahwa aplikasi Anda muncul.
Kode aplikasi Anda dapat memeriksa protokol melalui x-appservice-proto
header. Header memiliki nilai http
atau https
.
Catatan
Jika aplikasi memberi Anda kesalahan validasi sertifikat, Anda mungkin menggunakan sertifikat yang ditandatangani sendiri.
Jika tidak demikian, Anda mungkin telah meninggalkan sertifikat perantara saat mengekspor sertifikat Anda ke file PFX.
Tanya jawab umum
- Bagaimana cara memastikan bahwa alamat IP aplikasi tidak berubah saat saya membuat perubahan pada pengikatan sertifikat?
- Dapatkah saya menonaktifkan pengalihan paksa dari HTTP ke HTTPS?
- Bagaimana cara mengubah versi TLS minimum untuk aplikasi?
- Bagaimana cara menangani penghentian TLS di App Service?
Bagaimana cara memastikan bahwa alamat IP aplikasi tidak berubah saat saya membuat perubahan pada pengikatan sertifikat?
Alamat IP masuk Anda dapat berubah saat Anda menghapus pengikatan, bahkan jika pengikatan tersebut adalah IP SSL. Ini sangat penting ketika Anda memperbarui sertifikat yang sudah ada dalam pengikatan IP SSL. Untuk menghindari perubahan alamat IP aplikasi Anda, ikuti langkah-langkah berikut, secara berurutan:
- Mengunggah sertifikat baru.
- Ikat sertifikat baru ke domain kustom yang Anda inginkan tanpa menghapus sertifikat lama. Tindakan ini menggantikan pengikatan alih-alih menghapus yang lama.
- Menghapus sertifikat lama.
Dapatkah saya menonaktifkan pengalihan paksa dari HTTP ke HTTPS?
Secara default, App Service memaksa pengalihan dari permintaan HTTP ke HTTPS. Untuk menonaktifkan perilaku ini, lihat Mengonfigurasi pengaturan umum.
Bagaimana cara mengubah versi TLS minimum untuk aplikasi?
Aplikasi Anda memungkinkan TLS 1.2 secara default, yang merupakan level TLS yang direkomendasikan berdasarkan standar industri, seperti PCI DSS. Untuk menerapkan versi TLS yang berbeda, lihat Mengonfigurasi pengaturan umum.
Bagaimana cara menangani penghentian TLS di App Service?
Di Azure App Service, penghentian TLS terjadi di penyeimbang muatan jaringan, sehingga semua permintaan HTTPS menjangkau aplikasi Anda sebagai permintaan HTTP yang tidak terenkripsi. Jika logika aplikasi Anda perlu memeriksa apakah permintaan pengguna dienkripsi, periksa X-Forwarded-Proto
header.
Panduan konfigurasi khusus bahasa, seperti panduan konfigurasi linux Node.js, menunjukkan cara mendeteksi sesi HTTPS dalam kode aplikasi Anda.
Mengotomatiskan dengan skrip
Azure CLI
Mengikat sertifikat TLS/SSL kustom ke aplikasi web
PowerShell
$fqdn="<Replace with your custom domain name>"
$pfxPath="<Replace with path to your .PFX file>"
$pfxPassword="<Replace with your .PFX password>"
$webappname="mywebapp$(Get-Random)"
$location="West Europe"
# Create a resource group.
New-AzResourceGroup -Name $webappname -Location $location
# Create an App Service plan in Free tier.
New-AzAppServicePlan -Name $webappname -Location $location `
-ResourceGroupName $webappname -Tier Free
# Create a web app.
$webapp = New-AzWebApp -Name $webappname -Location $location -AppServicePlan $webappname `
-ResourceGroupName $webappname
Write-Host "Sign in to your domain provider's website and configure the following records:"
Write-Host "A CNAME record that maps $fqdn to $webappname.azurewebsites.net"
Write-Host "A TXT record that maps asuid.$fqdn to the domain verification ID $($webapp.CustomDomainVerificationId)"
Read-Host "Press [Enter] key when ready ..."
# Before continuing, go to your DNS configuration UI for your custom domain and follow the
# instructions at https://aka.ms/appservicecustomdns to configure a CNAME record for the
# hostname "www" and point it your web app's default domain name.
# Upgrade App Service plan to Basic tier (minimum required by custom SSL certificates)
Set-AzAppServicePlan -Name $webappname -ResourceGroupName $webappname `
-Tier Basic
# Add a custom domain name to the web app.
Set-AzWebApp -Name $webappname -ResourceGroupName $webappname `
-HostNames @($fqdn,"$webappname.azurewebsites.net")
# Upload and bind the SSL certificate to the web app.
New-AzWebAppSSLBinding -WebAppName $webappname -ResourceGroupName $webappname -Name $fqdn `
-CertificateFilePath $pfxPath -CertificatePassword $pfxPassword -SslState SniEnabled