Bagikan melalui


Mengaktifkan HTTPS untuk domain kustom di Azure App Service

Artikel ini memperlihatkan kepada Anda cara memberikan keamanan untuk domain kustom di aplikasi Azure App Service atau aplikasi fungsi Anda dengan membuat pengikatan sertifikat. Setelah selesai, Anda dapat mengakses aplikasi App Service di https:// titik akhir untuk nama Sistem Nama Domain (DNS) kustom Anda. Contohnya adalah https://www.contoso.com.

Cuplikan layar yang memperlihatkan aplikasi web dengan sertifikat TLS/SSL kustom.

Prasyarat

Menambahkan pengikatan

Di Azure Portal:

  1. Di panel kiri, pilih App Services><app-name>.

  2. Di panel kiri aplikasi Anda, pilih Domain kustom.

  3. Di samping domain kustom, pilih Tambahkan pengikatan.

    Cuplikan layar yang memperlihatkan cara membuka dialog Tambahkan Pengikatan TLS/SSL.

  4. Jika aplikasi Anda sudah memiliki sertifikat untuk domain kustom yang dipilih, Anda dapat memilihnya di Sertifikat. Jika tidak, Anda harus menambahkan sertifikat dengan menggunakan salah satu pilihan di Sumber:

    • Membuat 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 Anda beli untuk domain yang Anda pilih.
    • Unggah sertifikat (.pfx): Ikuti alur kerja di Unggah sertifikat privat untuk mengunggah sertifikat file Pertukaran Informasi Pribadi (PFX) dari komputer lokal Anda dan tentukan kata sandi sertifikat.
    • Impor dari Key Vault: Pilih Pilih sertifikat brankas kunci dan pilih sertifikat dalam dialog.
  5. Dalam jenis TLS/SSL, pilih SNI SSL atau SSL berbasis IP:

    • SNI SSL: Anda dapat menambahkan beberapa pengikatan Server Name Indication (SNI) Secure Sockets Layer (SSL). Opsi ini memungkinkan beberapa sertifikat Keamanan Lapisan Transportasi (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 (SNI).)
    • SSL berbasis IP: Anda hanya dapat menambahkan satu pengikatan IP SSL. Opsi ini hanya memungkinkan satu sertifikat TLS/SSL untuk membantu mengamankan alamat IP publik khusus. Setelah Anda mengonfigurasi pemadanan, ikuti langkah-langkah dalam Remap rekaman untuk SSL berbasis IP. SSL berbasis IP hanya didukung di tingkat Standar atau yang lebih tinggi.
  6. Saat Anda menambahkan sertifikat baru, pilih Validasi untuk memvalidasi sertifikat baru.

  7. Pilih Tambahkan.

    Setelah operasi selesai, status TLS/SSL domain kustom diubah menjadi Aman.

    Cuplikan layar yang memperlihatkan domain kustom yang diamankan oleh pengikatan sertifikat.

    Status Aman di Domain kustom berarti sertifikat menyediakan keamanan. App Service tidak memeriksa apakah sertifikat ditandatangani sendiri atau kedaluwarsa, 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 ke sni.<app-name>.azurewebsites.net sebagai gantinya. (Tambahkan awalan sni .)

Uji HTTPS

Telusuri https://<your.custom.domain> di berbagai browser untuk memverifikasi bahwa aplikasi Anda muncul.

Cuplikan layar yang memperlihatkan contoh penjelajahan ke domain kustom Anda. URL contoso.com disorot.

Kode aplikasi Anda dapat memeriksa protokol melalui x-appservice-proto header. Header memiliki nilai http atau https.

Jika aplikasi memberi Anda kesalahan validasi sertifikat, Anda mungkin menggunakan sertifikat yang ditandatangani sendiri. Jika tidak demikian, Anda mungkin 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?

Alamat IP masuk Anda dapat berubah saat Anda menghapus pengikatan, bahkan jika pengikatan tersebut adalah IP SSL. Perilaku ini sangat penting ketika Anda memperbarui sertifikat yang sudah berada dalam pengikatan IP SSL. Untuk menghindari perubahan alamat IP aplikasi Anda, ikuti langkah-langkah berikut:

  1. Mengunggah sertifikat baru.
  2. Ikat sertifikat baru ke domain kustom yang Anda inginkan tanpa menghapus yang lama. Tindakan ini menggantikan pengikatan alih-alih menghapus yang lama.
  3. 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. Standar industri seperti PCI DSS merekomendasikan tingkat TLS ini. 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 (antarmuka baris perintah Azure)

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