Ikat nama domain Anda ke grup API Gateway agar klien dapat memanggil API melalui nama domain tersebut, bukan melalui nama domain tingkat kedua default.
Ikhtisar
Nama domain, grup API, dan API
-
Ikat nama domain Anda ke grup API untuk membuat pemetaan di antara keduanya.
-
API Gateway mengarahkan setiap permintaan HTTP masuk ke grup API dan API yang tepat berdasarkan nama domain, metode HTTP, dan path.
API Gateway menetapkan nama domain publik tingkat kedua default untuk setiap grup API, tetapi panggilan API harian melalui domain ini dibatasi: 1.000 per hari di wilayah Tiongkok daratan dan 100 per hari di wilayah lainnya. Respons juga menyertakan header "Content-Disposition: attachment; filename=ApiResponseForInnerDomain". Untuk menghapus batasan ini, ikat nama domain kustom ke grup API.
Pendaftaran ICP untuk nama domain
Untuk mengikat nama domain ke grup API di wilayah Tiongkok daratan, Anda harus memiliki Nomor ICP atau menambahkan Alibaba Cloud sebagai penyedia layanan dalam Pendaftaran ICP Anda. Pendaftaran ICP tidak diperlukan di luar Tiongkok daratan.
Pendaftaran ICP tidak diperlukan untuk nama domain internal.
Verifikasi kepemilikan nama domain
Nama domain hanya dapat diikat ke grup API jika belum diikat ke grup lain pada instans yang sama dengan base path yang sama, serta tidak bentrok dengan nama domain wildcard yang sudah ada. Verifikasi kepemilikan domain dengan menggunakan salah satu metode berikut:
-
Tambahkan Rekaman CNAME yang memetakan nama domain Anda ke nama domain tingkat kedua yang ditetapkan sistem.
-
Tambahkan Rekaman TXT. Gunakan format "ID grup API.Nama domain" untuk hostname dan "apigateway-domain-verification=Nama domain tingkat kedua publik" untuk nilai rekaman.
Sebagai contoh, jika ID grup API adalah
b7eb2f79e64f4431b08bbb948ed2567e, nama domain tingkat kedua publik adalahb7eb2f79e64f4431b08bbb948ed2567e-cn-hangzhou.alicloudapi.com, dan domain yang diikat adalahyoudomain.comatau*.yourdomain, tambahkan Rekaman TXT dengan hostname (RR)b7eb2f79e64f4431b08bbb948ed2567e.yourdomain.comdan nilai rekamanapigateway-domain-verfication=b7eb2f79e64f4431b08bbb948ed2567e-cn-hangzhou.alicloudapi.com.
-
Nama domain internal tidak memerlukan verifikasi kepemilikan.
-
Jika Anda mengikat nama domain tanpa menambahkan Rekaman CNAME, permintaan klien ke domain tersebut tidak akan mencapai API Gateway.
-
Untuk mengikat nama domain yang sama ke beberapa grup API:
-
Instans yang sama: grup API harus memiliki base path berbeda (maksimal 300 byte masing-masing).
-
Instans berbeda: klien harus menentukan instans target dalam pengaturan DNS mereka.
-
Prosedur
Ikat nama domain publik atau internal dengan mengikuti 1. Mengikat satu nama domain atau 2. Mengikat nama domain wildcard. Langkah utamanya adalah:
-
Resolusi nama domain: Tambahkan Rekaman CNAME atau TXT untuk memetakan nama domain Anda ke nama domain tingkat kedua grup API. Resolusi nama domain.
-
Resolusi nama domain publik: Petakan nama domain publik Anda ke nama domain tingkat kedua publik grup API. Resolusi nama domain publik.
-
Resolusi nama domain internal: Petakan nama domain internal Anda ke nama domain tingkat kedua internal grup API. Resolusi nama domain internal.
-
-
Pengikatan nama domain: Ikat nama domain Anda ke grup API pada halaman Detail Grup. Pengikatan nama domain.
-
Opsional. Jika beberapa nama domain HTTPS diikat ke grup API, konfigurasikan nama domain default. Konfigurasikan nama domain default grup API.
1. Mengikat satu nama domain
Resolusi nama domain
Resolusi nama domain publik
-
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Manage APIs > API Groups dan pilih wilayah.
-
Pada halaman API Groups, klik grup API target. Di bagian Basic Information, temukan nama domain tingkat kedua publik.
-
Masuk ke Konsol DNS. Pilih Public DNS > Authoritative DNS Resolution. Klik tab Authoritative Domain Names, lalu klik nama domain untuk membuka tab DNS Settings.
-
Pada tab DNS Settings, klik Add DNS Record. Atur Record Type ke CNAME, Hostname ke awalan nama domain, dan Record Value ke nama domain tingkat kedua publik. Klik OK.
Resolusi nama domain internal
-
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Manage APIs > API Groups dan pilih wilayah.
-
Pada halaman API Groups, klik grup API target. Di bagian Basic Information, temukan nama domain VPC internal.
-
Masuk ke Konsol DNS. Klik Private DNS (PrivateZone). Di pojok kanan atas halaman Private DNS (PrivateZone), klik Configuration Mode. Pada tab User Defined Zones, klik Add New Zone.
-
Pada panel Add Built-in Authoritative Zone, tentukan Built-in Authoritative Zone dan Alibaba Cloud VPC, lalu klik OK.
Untuk Domain Type, pilih Built-in Authoritative Acceleration Zone. Ini direkomendasikan untuk latensi resolusi terendah.
CatatanUntuk Built-in Authoritative Zone, masukkan nama domain (internal) kustom yang diikat ke grup API. Nama domain ini hanya digunakan untuk private DNS (PrivateZone) di VPC.
-
Klik nama zona untuk membuka tab Resource Records Settings. Klik Add Record. Pada panel Add Record, atur Record Type ke CNAME, Hostname ke awalan nama domain, dan Record Value ke nama domain VPC internal. Klik OK.
-
Pada Instance ECS di VPC terkait, catatan zona privat menggantikan catatan DNS publik. Nama domain internal diselesaikan berdasarkan catatan zona privat.
-
Catatan DNS publik tidak terpengaruh di VPC. Menambahkan catatan zona privat mencegah zona otoritatif kosong menimpa catatan DNS publik, yang dapat menyebabkan error resolusi. Aktifkan Alibaba Cloud DNS PrivateZone.
Pengikatan nama domain
-
Masuk ke Konsol API Gateway. Di panel navigasi kiri, pilih Manage APIs > API Groups dan pilih wilayah.
-
Pada halaman API Groups, klik grup API target untuk membuka halaman Group Details. Di bagian Independent Domains, klik Bind Domain Name.
-
Pada kotak dialog Bind Domain Name, atur parameter berikut dan klik Confirm.
Parameter
Deskripsi
Domain Name
Nama domain yang akan diikat ke grup API.
Environment
Lingkungan untuk nama domain. Nilai yang valid:
-
Test: Hanya memanggil API di lingkungan pengujian.
-
Pre: Hanya memanggil API di lingkungan staging.
-
Production: Hanya memanggil API di lingkungan produksi.
-
Default (X-Ca-Stage): Memanggil API di lingkungan apa pun. Tambahkan header X-Ca-Stage untuk menentukan lingkungan target.
Network Type
Internet: Panggilan API hanya melalui Internet. Internal Network: Panggilan API hanya melalui jaringan internal.
-
-
Nama domain internal tidak memerlukan verifikasi kepemilikan. Namun, pengikatan gagal jika nama domain bentrok dengan domain yang diikat ke grup API lain pada instans yang sama.
-
Jenis jaringan tidak dapat diubah setelah pengikatan. Untuk memperbaikinya, hapus nama domain dan ikat ulang.
FAQ tentang pengikatan nama domain
Mengapa pengikatan nama domain gagal?
-
Nama domain sudah diikat ke grup API lain pada instans yang sama, atau nama domain wildcard bentrok dengan nama domain tunggal. Lepaskan ikatan nama domain yang bentrok terlebih dahulu.
-
Nama domain diikat ke grup API milik pengguna berbeda, atau terdapat bentrok nama domain wildcard. Selesaikan Verifikasi kepemilikan nama domain sebelum mengikat.
Verifikasi panggilan API
Setelah pengikatan, gunakan nama domain untuk memanggil API. Contoh permintaan 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-44DDC1A6B20D
Jika nama domain internal diikat, panggil API dari dalam VPC terkait.
2. Mengikat nama domain wildcard
Anda dapat mengikat nama domain wildcard ke grup API. Selesaikan nama domain wildcard ke nama domain tingkat kedua publik dan ikat di Konsol API Gateway. Setelah diikat, gunakan nama domain wildcard untuk memanggil API dalam grup tersebut.
Mengikat nama domain wildcard
Prosesnya mirip dengan 1. Mengikat satu nama domain. Misalnya, untuk mengarahkan semua subdomain abc.com (seperti 1.abc.com dan 2.abc.com) ke API Gateway:
-
Di Konsol DNS, buat Rekaman CNAME yang memetakan *.abc.com ke nama domain tingkat kedua publik.
-
Pada halaman Detail Grup di Konsol API Gateway, ikat *.abc.com ke grup API.

Hanya instans berbasis VPC yang mendukung nama domain wildcard. Setelah diikat, klien dapat memanggil API melalui subdomain apa pun seperti 1.abc.com atau 2.abc.com. Misalnya, API yang mendukung panggilan GET anonim juga dapat diakses melalui subdomain *.abc.com apa pun.
Catatan penggunaan
-
Verifikasi kepemilikan nama domain wildcard sebelum mengikat. Verifikasi kepemilikan nama domain.
-
Setelah pengikatan, konfigurasikan templat nama domain wildcard pada halaman Detail Grup untuk mengaktifkan panggilan API melalui nama domain wildcard.
Klik Edit Wildcard Domain Name Template di kolom Actions. Masukkan satu atau beberapa templat pencocokan seperti {groupId}.api.foo.com atau {userId}.user.api.foo.com, dipisahkan dengan Enter, koma, atau titik koma. Klik OK.
Bidang variabel dalam templat diteruskan sebagai parameter ke layanan backend.
Konfigurasikan nama domain default grup API
Anda dapat mengunggah sertifikat HTTPS untuk nama domain Anda. Jika beberapa nama domain HTTPS diikat ke satu grup API, tetapkan salah satunya sebagai default. Saat klien yang tidak mendukung SNI memulai handshake SSL, API Gateway mengembalikan sertifikat domain default; jika tidak, sertifikat acak dikembalikan. Fitur ini hanya tersedia untuk Instans khusus. Instans bersama tidak mendukung sertifikat default, yang dapat menyebabkan error sertifikat untuk klien non-SNI.
Pada Instans khusus, jika beberapa grup API memiliki nama domain default yang dikonfigurasi, hanya nama domain default grup API pertama yang dimuat.