Topik ini menjelaskan cara mengaitkan nama domain Anda dengan grup API yang dihosting pada API Gateway. Dengan cara ini, Anda dapat menyediakan layanan eksternal dengan memungkinkan klien memanggil API dalam grup API melalui nama domain Anda.
Ikhtisar
Hubungan antara nama domain dan grup API serta hubungan antara nama domain dan API
Anda harus mengaitkan nama domain Anda dengan grup API yang dihosting pada API Gateway untuk membuat pemetaan antara nama domain dan grup API.
Ketika API Gateway menerima permintaan HTTP dari klien, API Gateway mengidentifikasi grup API dan API ke mana permintaan diteruskan berdasarkan nama domain, metode HTTP, dan jalur dalam permintaan.
Secara default, API Gateway menyediakan nama domain publik tingkat dua untuk setiap grup API. Ketika klien menggunakan nama domain publik tingkat dua default untuk memanggil API dalam grup API, jumlah panggilan API harian dibatasi. Batasnya adalah 100 panggilan API per hari di wilayah China (Hong Kong) dan wilayah lain di luar Tiongkok daratan, dan batasnya adalah 1.000 panggilan API per hari di wilayah dalam Tiongkok daratan. Tanggapan terhadap setiap permintaan yang dilakukan untuk memanggil API melalui nama domain publik tingkat dua yang disediakan oleh API Gateway berisi informasi "Content-Disposition: attachment; filename=ApiResponseForInnerDomain" di header. Jika Anda ingin menerbitkan API di lingkungan produksi, Anda harus mengaitkan nama domain terpisah dengan grup API yang sesuai. Dalam hal ini, jumlah panggilan API harian tidak dibatasi.
Pendaftaran ICP untuk nama domain
Jika Anda ingin mengaitkan nama domain terpisah dengan grup API di wilayah dalam Tiongkok daratan, Anda harus mengajukan nomor Penyedia Konten Internet (ICP) atau menambahkan Alibaba Cloud sebagai penyedia layanan ke informasi pendaftaran ICP dari nama domain terpisah tersebut. Pendaftaran ICP tidak diperlukan untuk nama domain yang dihosting di luar Tiongkok daratan.
Jika Anda ingin mengaitkan nama domain internal dengan grup API, pendaftaran ICP tidak diperlukan.
Verifikasi kepemilikan nama domain
Nama domain hanya dapat diikat ke grup API jika kondisi berikut terpenuhi: Nama domain tidak diikat ke grup API lain yang termasuk dalam instance yang sama dan menggunakan jalur dasar yang sama dengan grup API saat ini, dan nama domain tidak bertentangan dengan nama domain wildcard lain yang diikat ke grup API. Anda dapat menggunakan salah satu dari metode berikut untuk memverifikasi kepemilikan nama domain:
Tambahkan catatan CNAME untuk memetakan nama domain Anda ke nama domain tingkat dua yang ditetapkan oleh sistem.
Tambahkan catatan TXT untuk nama domain yang diikat ke grup API. Catatan tersebut dinamai dalam format "ID Grup API.Nama Domain", dan nilai catatan dalam format "apigateway-domain-verification=Nama domain publik tingkat dua".
Contoh:
ID grup API adalah
b7eb2f79e64f4431b08bbb948ed2567e. Nama domain publik tingkat dua adalahb7eb2f79e64f4431b08bbb948ed2567e-cn-hangzhou.alicloudapi.com. Nama domain yang diikat ke grup API adalah nama domain tunggal, sepertiyoudomain.com, atau nama domain wildcard, seperti*.yourdomain. Anda harus menambahkan catatan TXT yang hostname (RR)-nya adalahb7eb2f79e64f4431b08bbb948ed2567e.yourdomain.comdan nilai catatannya adalahapigateway-domain-verfication=b7eb2f79e64f4431b08bbb948ed2567e-cn-hangzhou.alicloudapi.comuntuk nama domain tersebut.
Anda tidak perlu memverifikasi kepemilikan nama domain internal yang diikat ke grup API.
Jika Anda mengaitkan nama domain Anda dengan grup API tetapi tidak menambahkan catatan CNAME untuk nama domain tersebut, permintaan yang dikirim dari klien ke nama domain tidak dapat dirutekan ke API Gateway.
Jika Anda ingin mengaitkan nama domain dengan grup API yang berbeda, perhatikan item berikut:
Jika grup API berada pada instance yang sama, jalur dasar mereka harus berbeda. Jalur dasar dapat memiliki panjang hingga 300 byte.
Jika grup API berada pada instance yang berbeda, klien harus menentukan instance yang diminta dalam pengaturan Alibaba Cloud DNS (DNS).
Prosedur
Untuk mengaitkan nama domain publik atau internal dengan API Gateway, lakukan langkah-langkah dalam Mengikat nama domain tunggal atau Mengikat nama domain wildcard.
Resolusi nama domain: Tambahkan catatan CNAME atau TXT untuk memetakan nama domain publik atau internal Anda ke nama domain tingkat dua publik atau internal yang disediakan oleh grup API. Untuk informasi lebih lanjut, lihat Resolusi nama domain.
Resolusi nama domain publik: Anda dapat menggunakan DNS untuk memetakan nama domain publik Anda ke nama domain tingkat dua publik dari grup API Gateway. Untuk informasi lebih lanjut, lihat Resolusi nama domain publik.
Resolusi nama domain internal: Gunakan DNS untuk memetakan nama domain internal Anda ke nama domain tingkat dua internal dari grup API. Untuk informasi lebih lanjut, lihat Resolusi nama domain internal.
Pengikatan nama domain: Di halaman Detail Grup pada konsol API Gateway, ikat nama domain Anda dengan grup API. Untuk informasi lebih lanjut, lihat Pengikatan nama domain.
Opsional. Konfigurasikan nama domain default grup API: Jika beberapa nama domain diikat ke grup API dan nama domain mendukung HTTPS, Anda harus mengonfigurasi nama domain default. Untuk informasi lebih lanjut, lihat Konfigurasikan nama domain default grup API.
Mengikat nama domain tunggal
Resolusi nama domain
Resolusi nama domain publik
Masuk ke konsol API Gateway. Di panel navigasi sisi kiri, pilih Manage APIs > API Groups dan pilih wilayah.
Di halaman API Groups, klik grup API yang ingin Anda kelola untuk masuk ke halaman detail. Di bagian Basic Information, temukan nama domain publik tingkat dua yang disediakan oleh API Gateway untuk grup API.
Masuk ke konsol DNS. Di panel navigasi sisi kiri, pilih Public DNS > Authoritative DNS Resolution. Di halaman Resolusi DNS Otoritatif, klik tab Authoritative Domain Names. Klik nama domain yang diinginkan untuk masuk ke tab DNS Settings.
Di tab DNS Settings, klik Add DNS Record. Di kotak dialog yang muncul, atur Record Type ke CNAME, Hostname ke awalan nama domain, dan Record Value ke nama domain publik tingkat dua. Lalu, klik OK.

Resolusi nama domain internal
Masuk ke konsol API Gateway. Di panel navigasi sisi kiri, pilih Manage APIs > API Groups dan pilih wilayah.
Di halaman API Groups, klik grup API yang ingin Anda kelola untuk masuk ke halaman detail. Di bagian Basic Information, temukan nama domain virtual private cloud (VPC) internal yang disediakan oleh API Gateway untuk grup API.
Masuk ke konsol DNS. Di panel navigasi sisi kiri, klik Private DNS (PrivateZone). Di bagian kanan atas halaman Private DNS (PrivateZone), klik Configuration Mode. Di tab User Defined Zones, klik Add New Zone.
Di panel Add Built-in Authoritative Zone, tentukan Built-in Authoritative Zone dan Alibaba Cloud VPC, dan klik OK.
CatatanUntuk parameter Built-in Authoritative Zone, Anda harus memasukkan nama domain kustom (internal) yang diikat ke grup API. Nama domain tersebut didedikasikan untuk private DNS (PrivateZone) di VPC.
Klik nama zona otoritatif bawaan untuk masuk ke tab Resource Records Settings. Klik Add Record untuk menambahkan catatan CNAME untuk nama domain internal. Di panel Add Record, atur Record Type ke CNAME, Hostname ke awalan nama domain, dan Record Value ke nama domain VPC internal. Lalu, klik OK.

Di instance Elastic Compute Service (ECS) yang ditempatkan di VPC yang terkait dengan zona otoritatif bawaan, rekaman zona privat menggantikan rekaman DNS publik. Nama domain internal diselesaikan berdasarkan rekaman zona privat.
Di VPC, rekaman DNS publik zona otoritatif bawaan tidak terpengaruh. Rekaman zona privat yang ditambahkan untuk zona otoritatif bawaan dapat mencegah zona otoritatif bawaan yang rekaman DNS-nya kosong menggantikan rekaman DNS publik. Jika tidak, kesalahan resolusi DNS akan terjadi. Untuk informasi lebih lanjut, lihat Aktifkan Alibaba Cloud DNS PrivateZone.
Pengikatan nama domain
Masuk ke konsol API Gateway. Di panel navigasi sisi kiri, pilih Manage APIs > API Groups dan pilih wilayah.
Di halaman API Groups, klik grup API yang ingin Anda ikat ke nama domain untuk masuk ke halaman Group Details. Di bagian Independent Domains, klik Bind Domain Name.
Di kotak dialog Bind Domain Name, konfigurasikan parameter berikut dan klik Confirm.
Parameter
Deskripsi
Nama Domain
Tentukan nama domain yang akan diikat ke grup API.
Lingkungan
Lingkungan yang terkait dengan nama domain. Nilai valid:
Uji: Anda hanya dapat memanggil API di lingkungan pengujian.
Pre: Anda hanya dapat memanggil API di lingkungan staging.
Produksi: Anda hanya dapat memanggil API di lingkungan produksi.
Default (X-Ca-Stage): Anda dapat memanggil semua API di lingkungan sebelumnya. Saat Anda memanggil API, tambahkan parameter X-Ca-Stage ke header permintaan Anda untuk menentukan lingkungan di mana Anda ingin memanggil API.
Tipe Jaringan
Internet: Anda hanya dapat memanggil API melalui Internet. Jaringan Internal: Anda hanya dapat memanggil API melalui jaringan internal.
Anda tidak perlu memverifikasi kepemilikan nama domain internal. Jika nama domain bertentangan dengan nama domain yang diikat ke grup API lain yang termasuk dalam instance yang sama dengan grup API saat ini, nama domain saat ini gagal diikat ke grup API.
Setelah nama domain diikat ke grup API, Anda tidak dapat mengubah tipe jaringan nama domain. Jika konfigurasi salah, Anda dapat menghapus nama domain dan mengikat nama domain ke grup API lagi.
FAQ tentang pengikatan nama domain
Apa yang harus saya lakukan jika nama domain gagal diikat ke grup API?
Nama domain yang ingin Anda ikat sudah diikat ke grup API lain di instance saat ini, atau rentangnya bertentangan dengan nama domain lain yang telah Anda ikat. Konflik rentang merujuk pada nama domain wildcard yang menimpa nama domain tunggal. Dalam hal ini, Anda harus melepas nama domain tersebut sebelum dapat mengikat nama domain saat ini.
Nama domain yang ingin Anda ikat sudah diikat ke grup API yang dibuat oleh pengguna lain, atau rentangnya bertentangan dengan nama domain lain yang telah Anda ikat. Konflik rentang merujuk pada nama domain wildcard yang menimpa nama domain tunggal. Dalam hal ini, Anda harus memverifikasi kepemilikan nama domain dengan mengikuti petunjuk di bagian Verifikasi kepemilikan nama domain sebelum dapat mengikat nama domain saat ini.
Verifikasi panggilan API
Setelah pengikatan selesai, Anda dapat menggunakan nama domain untuk memanggil API di grup API. Contoh berikut menunjukkan cara memanggil API menggunakan curl:
curl http://yourdomain.com/apipath -i
HTTP/1.1 200 OK
Date: Mon, 23 Mar 2020 08:40:01 GMT
Connection: keep-alive
Keep-Alive: timeout=25
Server: Jetty(7.2.2.v20101205)
X-Ca-Request-Id: E2B8CBAB-D6EF-4576-838F-44DDC1A6B20DJika nama domain internal diikat ke grup API, Anda harus memanggil API di VPC yang terkait dengan nama domain.
Mengikat nama domain wildcard
API Gateway memungkinkan Anda mengikat nama domain wildcard ke grup API. Anda dapat menyelesaikan nama domain wildcard ke nama domain tingkat dua publik dan mengikat nama domain wildcard ke grup API Anda di konsol API Gateway. Setelah pengikatan selesai, Anda dapat menggunakan nama domain wildcard untuk memanggil API di grup API.
Bagaimana nama domain wildcard diikat ke grup API
Nama domain wildcard diikat ke grup API dengan cara yang serupa dengan prosedur di bagian Mengikat nama domain tunggal. Sebagai contoh, jika Anda adalah pemilik nama domain abc.com dan Anda ingin menyelesaikan semua subdomain, seperti 1.abc.com dan 2.abc.com dari abc.com, ke API Gateway untuk menyediakan layanan eksternal, Anda dapat melakukan langkah-langkah berikut:
Di konsol DNS, buat catatan CNAME untuk memetakan *.abc.com ke nama domain tingkat dua publik.
Di halaman Detail Grup di konsol API Gateway, ikat *.abc.com ke grup API.

Hanya instance yang ditempatkan di VPC yang mendukung nama domain wildcard. Setelah pengikatan selesai, klien dapat memanggil API di grup API menggunakan salah satu subdomain abc.com, seperti 1.abc.com dan 2.abc.com. Sebagai contoh, jika API di grup API dapat dipanggil secara anonim menggunakan metode GET, API tersebut juga dapat dipanggil menggunakan subdomain *.abc.com.
Catatan penggunaan untuk pengikatan nama domain wildcard
Saat Anda mengikat nama domain wildcard, Anda harus memverifikasi kepemilikan nama domain wildcard. Untuk informasi lebih lanjut, lihat bagian "Verifikasi kepemilikan nama domain".
Setelah nama domain wildcard diikat, Anda harus mengonfigurasi template nama domain wildcard di halaman Detail Grup. Lalu, Anda dapat menggunakan nama domain wildcard untuk memanggil API.

Template nama domain wildcard digunakan untuk mengonfigurasi parameter nama domain. Bidang variabel dalam template dapat dilewatkan sebagai parameter ke layanan backend.
Konfigurasikan nama domain default grup API
API Gateway memungkinkan Anda mengunggah sertifikat HTTPS untuk nama domain Anda. Lalu, Anda dapat menggunakan nama domain untuk memanggil API melalui HTTPS. Jika beberapa nama domain diikat ke grup API dan semua nama domain tersebut mendukung HTTPS, Anda harus mengonfigurasi nama domain default. Dengan cara ini, API Gateway dapat mengembalikan sertifikat untuk nama domain default ketika API Gateway menerima permintaan jabat tangan SSL dari klien yang tidak mendukung server name indication (SNI). Jika nama domain default tidak dikonfigurasi, API Gateway secara acak mengembalikan sertifikat untuk nama domain. Konfigurasi nama domain default hanya berlaku untuk instance khusus. Secara default, instance bersama tidak mendukung sertifikat untuk nama domain default. Jika klien versi lama yang tidak mendukung SNI melakukan panggilan API melalui HTTPS, kesalahan kebingungan sertifikat mungkin terjadi.
Di instance khusus, jika beberapa grup API semuanya dikonfigurasi dengan nama domain default, hanya nama domain default yang dikonfigurasi untuk grup API pertama yang dapat dimuat.