Mengonfigurasi nama domain kustom untuk instans Azure API Management Anda

Saat Anda membuat instans layanan Azure API Management di Azure cloud, Azure menetapkannya sebagai azure-api.net subdomain (misalnya, apim-service-name.azure-api.net). Anda dapat mengekspos titik akhir API Management Anda menggunakan nama domain kustom Anda sendiri, seperti contoso.com . Artikel ini menunjukkan cara memetakan nama DNS kustom yang ada ke titik akhir yang diekspos oleh instans API Management.

Penting

API Management hanya menerima permintaan dengan nilai header host yang cocok:

  • Nama domain default Gateway
  • Salah satu nama domain kustom yang dikonfigurasi Gateway

Prasyarat

  • Langganan Azure aktif. Jika Anda tidak memiliki langganan Azure, buat akun gratis Azure sebelum memulai.

  • Instans API Management. Untuk informasi selengkapnya, lihat Membuat instans Azure API Management.

  • Nama domain kustom yang dimiliki oleh Anda atau organisasi Anda. Artikel ini tidak memberikan petunjuk tentang cara mendapatkan nama domain kustom.

  • Opsional, sertifikat yang valid dengan kunci publik dan privat (.PFX). Subjek atau nama alternatif subjek (SAN) harus cocok dengan nama domain (ini memungkinkan instans API Management untuk mengekspos URL melalui TLS dengan aman).

    Lihat Opsi sertifikat domain.

  • Rekaman DNS yang dihosting di server DNS untuk memetakan nama domain kustom ke nama domain default dari instans API Management Anda. Topik ini tidak memberikan petunjuk tentang cara menghosting data DNS.

    Untuk informasi selengkapnya tentang data yang diperlukan, lihat konfigurasi DNS, nanti di artikel ini.

Titik akhir untuk domain kustom

Ada beberapa titik akhir API Management tempat Anda dapat menetapkan nama domain kustom. Saat ini, titik akhir berikut tersedia:

Titik akhir Default
Gateway Defaultnya adalah: <apim-service-name>.azure-api.net. Hanya titik akhir Gateway yang tersedia untuk konfigurasi di tingkat Konsumsi.

Konfigurasi titik akhir Gateway default tetap tersedia setelah domain Gateway kustom ditambahkan.
Portal pengembang (warisan) Defaultnya adalah: <apim-service-name>.portal.azure-api.net
Portal pengembang Defaultnya adalah: <apim-service-name>.developer.azure-api.net
Manajemen Defaultnya adalah: <apim-service-name>.management.azure-api.net
SCM Defaultnya adalah: <apim-service-name>.scm.azure-api.net

Pertimbangan

  • Anda dapat memperbarui salah satu titik akhir yang didukung di tingkat layanan Anda. Biasanya, pelanggan memperbarui Gateway (URL ini digunakan untuk memanggil API yang diekspos melalui API Management) dan Portal pengembang (URL portal pengembang).
  • Hanya pemilik instans API Management yang dapat menggunakan titik akhir Manajemen dan SCM secara internal. Titik akhir ini lebih jarang mendapatkan nama domain kustom.
  • Tingkat Premium dan Pengembang mendukung pengaturan beberapa nama host untuk titik akhir Gateway.
  • Nama domain kartubebas, seperti *.contoso.com, didukung di semua tingkatan kecuali tingkat Konsumsi.

Opsi sertifikat domain

API Management mendukung sertifikat TLS kustom atau sertifikat yang diimpor dari Azure Key Vault. Anda juga dapat mengaktifkan sertifikat terkelola gratis.

Peringatan

Jika Anda ingin meningkatkan keamanan aplikasi Anda dengan penyematan sertifikat, Anda harus menggunakan nama domain kustom dan sertifikat kustom atau Key Vault, bukan sertifikat default atau sertifikat gratis yang dikelola. Kami tidak menyarankan untuk mengambil dependensi keras pada sertifikat yang tidak Anda kelola.

Jika Anda sudah memiliki sertifikat pribadi dari penyedia pihak ketiga, Anda dapat mengunggahnya ke instans API Management Anda. Itu harus memenuhi persyaratan berikut. (Jika Anda mengaktifkan sertifikat gratis yang dikelola oleh API Management, itu sudah memenuhi persyaratan ini.)

  • Diekspor sebagai file PFX, dienkripsi menggunakan triple DES, dan secara opsional dilindungi kata sandi.
  • Berisi kunci privat setidaknya sepanjang 2048 bit
  • Berisi semua sertifikat perantara dan sertifikat akar dalam rantai sertifikat.

Mengatur nama domain kustom - portal

Pilih langkah-langkahnya sesuai dengan sertifikat domain yang ingin Anda gunakan.

  1. Navigasikan ke instans API Management Anda di portal Microsoft Azure.
  2. Di navigasi sebelah kiri, pilih Domain kustom.
  3. Pilih +Tambahkan, atau pilih titik akhir yang ada yang ingin Anda perbarui.
  4. Di jendela di sebelah kanan, pilih Jenis titik akhir untuk domain kustom.
  5. Di bidang Nama Host, tentukan nama yang ingin Anda gunakan. Contohnya:api.contoso.com
  6. Di bawah Sertifikat, pilih Kustom
  7. Pilih File sertifikat untuk memilih dan mengunggah sertifikat.
  8. Unggah file .PFX yang valid dan sediakan Kata Sandinya, jika sertifikat dilindungi dengan kata sandi.
  9. Saat mengonfigurasi titik akhir Gateway, pilih atau batalkan pilihan opsi lain yang diperlukan, termasuk Negosiasikan sertifikat klien atau Pengikatan SSL default. Configure gateway domain with custom certificate
  10. Pilih Tambahkan, atau pilih Perbarui untuk titik akhir yang ada.
  11. Pilih Simpan.

Catatan

Proses penetapan sertifikat mungkin memakan waktu 15 menit atau lebih tergantung pada ukuran penyebaran. Tingkat pengembang memiliki waktu henti, sementara SKU Dasar dan yang lebih tinggi tidak memiliki waktu henti.

Bagaimana server proksi API Management merespons dengan sertifikat SSL di handshake TLS

Saat mengonfigurasi domain kustom untuk titik akhir Gateway, Anda dapat mengatur properti tambahan yang menentukan bagaimana API Management merespons dengan sertifikat server, bergantung pada permintaan klien.

Klien menelepon dengan header Indikasi Nama Server (SNI)

Jika Anda memiliki satu atau beberapa domain kustom yang dikonfigurasi untuk titik akhir Gateway, API Management dapat merespons permintaan HTTPS dari:

  • Domain kustom (misalnya contoso.com)
  • Domain default (misalnya apim-service-name.azure-api.net).

Berdasarkan informasi di header SNI, API Management merespons dengan sertifikat server yang sesuai.

Klien memanggil tanpa header SNI

Jika Anda menggunakan klien yang tidak mengirim tajuk SNI, API Management membuat respons berdasarkan logika berikut:

  • Jika layanan hanya memiliki satu domain kustom yang dikonfigurasi untuk Gateway, sertifikat default-nya adalah sertifikat yang dikeluarkan untuk domain kustom Gateway.

  • Jika layanan telah mengonfigurasi beberapa domain kustom untuk Gateway (didukung di tingkat Pengembang dan Premium), Anda dapat menetapkan sertifikat default dengan mengatur properti defaultSslBinding menjadi true ("defaultSslBinding":"true"). Di portal, pilih kotak centang Pengikatan SSL default.

    Jika Anda tidak mengatur properti, sertifikat default adalah sertifikat yang diterbitkan untuk domain Gateway default yang dihosting di *.azure-api.net.

Dukungan untuk permintaan PUT/POST dengan payload besar

Server proksi API Management mendukung permintaan dengan payload (>40 KB) saat menggunakan sertifikat sisi klien di HTTPS. Untuk mencegah permintaan server membeku, Anda dapat mengatur properti negotiateClientCertificate menjadi true ("negotiateClientCertificate": "true") pada nama host Gateway. Di portal, pilih kotak centang Negosiasikan sertifikat klien.

Jika properti diatur ke true, sertifikat klien diminta pada waktu sambungan SSL/TLS, sebelum pertukaran permintaan HTTP apa pun. Karena pengaturan berlaku di tingkat Nama host Gateway, semua permintaan sambungan meminta sertifikat klien. Anda dapat mengatasi batasan ini dan mengonfigurasi hingga 20 domain kustom untuk Gateway (hanya didukung di tingkat Premium).

Konfigurasi DNS

  • Mengonfigurasi data CNAME untuk domain kustom Anda.
  • Saat menggunakan sertifikat terkelola gratis dari API Management, konfigurasikan juga rekaman TXT untuk menetapkan kepemilikan domain Anda.

Catatan

Sertifikat gratis dikeluarkan oleh DigiCert. Untuk beberapa domain, Anda harus secara eksplisit mengizinkan DigiCert sebagai pengeluar sertifikat dengan membuat baris domain CAA dengan nilai: 0 issue digicert.com.

Rekaman CNAME

Konfigurasikan data CNAME yang mengarah dari nama domain kustom Anda (misalnya, api.contoso.com) ke nama host layanan API Management (misalnya, <apim-service-name>.azure-api.net). Rekaman CNAME lebih stabil daripada rekaman A jika alamat IP berubah. Untuk informasi selengkapnya, lihat Alamat IP Azure API Management dan API Management FAQ.

Catatan

Beberapa pendaftar domain hanya mengizinkan Anda untuk memetakan subdomain saat menggunakan data CNAME, seperti www.contoso.com, dan bukan nama root, seperti contoso.com. Untuk informasi selengkapnya tentang data CNAME, lihat dokumentasi yang disediakan oleh pendaftar Anda atau Nama Domain IETF - Implementasi dan Spesifikasi.

Rekaman TXT

Saat mengaktifkan sertifikat terkelola gratis untuk API Management, konfigurasikan juga rekaman TXT di zona DNS Anda untuk menetapkan kepemilikan nama domain Anda.

  • Nama rekaman adalah nama domain kustom Anda yang diawali dengan apimuid. Contoh: apimuid.api.contoso.com.
  • Nilainya adalah pengidentifikasi kepemilikan domain yang disediakan oleh instans API Management Anda.

Saat Anda menggunakan portal untuk mengonfigurasi gratis, sertifikat terkelola untuk domain kustom Anda, nama dan nilai rekaman TXT yang diperlukan akan ditampilkan secara otomatis.

Anda juga bisa mendapatkan pengidentifikasi kepemilikan domain dengan memanggil Dapatkan Pengidentifikasi Kepemilikan Domain REST API.

Langkah berikutnya

Tingkatkan dan skalakan layanan Anda