Untuk menggunakan nama domain tetap guna mengakses aplikasi atau fungsi Function Compute di lingkungan produksi, atau untuk mencegah browser memaksa unduhan saat pemicu HTTP diakses, ikat nama domain kustom ke aplikasi atau fungsi tersebut.
Kasus penggunaan
Anda perlu mengikat nama domain kustom ke fungsi atau aplikasi dalam kasus berikut:
-
Anda telah memigrasikan aplikasi web ke Function Compute dan ingin mengaksesnya melalui nama domain kustom.
-
Anda membuat aplikasi web di Konsol Function Compute dan ingin menggunakan path berbeda pada domain yang sama untuk memicu fungsi yang berbeda.
-
Anda membuat aplikasi, seperti aplikasi Stable Diffusion, di Function Compute dan ingin mengaksesnya melalui nama domain kustom.
Batasan penggunaan
-
Saat mengikat nama domain kustom ke fungsi, Anda harus memilih wilayah tempat fungsi tersebut berada.
-
Nama domain kustom bersifat case-sensitive. Anda harus memasukkannya persis seperti yang tercantum dalam pendaftaran ICP Anda.
-
Nama domain wildcard dan standar didukung, tetapi nama domain dalam bahasa Mandarin tidak didukung.
Cara kerja
Prasyarat
-
Anda telah membuat fungsi atau aplikasi. Untuk informasi lebih lanjut, lihat Buat fungsi dan Buat aplikasi.
Saat Anda mengikat nama domain kustom ke aplikasi, domain tersebut juga akan diikat ke fungsi-fungsi di dalam aplikasi tersebut. Anda dapat menemukan fungsi-fungsi yang dibuat secara otomatis ini di bagian Resource Information pada halaman Environment Details aplikasi. Klik nama fungsi untuk membuka halaman Detail Fungsi.
-
Anda memiliki nama domain kustom dengan pendaftaran ICP Alibaba Cloud untuk website.
Prosedur pendaftaran ICP bergantung pada registrar domain dan akun yang terkait.
-
Nama domain terdaftar dengan akun Alibaba Cloud saat ini
Login ke sistem Pendaftaran ICP Alibaba Cloud untuk menyelesaikan pendaftaran ICP untuk nama domain kustom Anda.
-
Nama domain terdaftar dengan akun Alibaba Cloud lain
Kami menyarankan menggunakan akun Alibaba Cloud tempat nama domain terdaftar untuk menyelesaikan pendaftaran ICP. login ke sistem Pendaftaran ICP Alibaba Cloud untuk menyelesaikan pendaftaran ICP untuk nama domain kustom Anda.
-
Nama domain tidak terdaftar dengan akun Alibaba Cloud
Jika pendaftaran ICP nama domain Anda telah diselesaikan oleh penyedia layanan lain, Anda harus menambahkan Alibaba Cloud sebagai penyedia layanan ke catatan pendaftaran yang sudah ada. Untuk melakukannya, login ke sistem Pendaftaran ICP Alibaba Cloud.
Catatan-
Pendaftaran ICP tidak diperlukan untuk nama domain kustom yang diikat ke fungsi di wilayah China (Hong Kong) atau wilayah mana pun di luar Tiongkok daratan.
-
Untuk mengetahui registrar nama domain Anda, gunakan halaman WHOIS.
-
Untuk memeriksa apakah nama domain tersebut milik akun Alibaba Cloud Anda saat ini, gunakan Konsol DNS Alibaba Cloud (DNS).
-
1. Tambahkan nama domain kustom
-
Login ke Konsol Function Compute. Di panel navigasi sebelah kiri, pilih . Pilih wilayah, lalu klik Add Custom Domain Name.
PentingUntuk mengikat nama domain kustom ke fungsi, pastikan domain tersebut berada di wilayah yang sama dengan fungsi tersebut.
-
Di halaman Add Custom Domain Name, masukkan nama domain kustom yang memiliki pendaftaran ICP dengan Alibaba Cloud atau mencantumkan Alibaba Cloud sebagai penyedia layanan dalam catatan pendaftaran ICP-nya. Anda dapat menggunakan nama domain tunggal, seperti
www.aliyun.com, atau nama domain wildcard, seperti*.aliyun.com.Dapatkan Internet CNAME atau Internal CNAME untuk mengonfigurasi resolusi nama domain pada langkah berikutnya. Tabel berikut menjelaskan format CNAME.
Jenis CNAME
Format
Contoh
Internet CNAME
<account_id>.<region_id>.fc.aliyuncs.comJika ID akun Alibaba Cloud Anda adalah 1413397765**** dan fungsi atau aplikasi berada di wilayah China (Hangzhou):
Internet CNAME-nya adalah
1413397765****.cn-hangzhou.fc.aliyuncs.com.Internal CNAME
<account_id>.<region_id>-internal.fc.aliyuncs.comInternal CNAME-nya adalah
1413397765****.cn-hangzhou-internal.fc.aliyuncs.com.
2. Konfigurasi resolusi nama domain
Login ke Konsol DNS Alibaba Cloud untuk mengarahkan nama domain dengan pendaftaran ICP ke CNAME Function Compute. Untuk informasi lebih lanjut, lihat Konfigurasi resolusi nama domain.

Seperti yang ditunjukkan pada gambar, saat mengonfigurasi resolusi DNS, atur Record Value ke CNAME Function Compute yang Anda peroleh di langkah sebelumnya. Jika Anda ingin mengakses domain ini melalui jaringan publik, Anda perlu mengatur Record Value ke CNAME publik Function Compute.
3. Selesaikan konfigurasi nama domain
Kembali ke halaman Add Custom Domain Name dari langkah 1. Mulai menambahkan nama domain kustom. Konfigurasikan opsi berikut sesuai kebutuhan, lalu klik Create untuk menambahkan nama domain kustom.
3.1 Konfigurasi routing
Jika aplikasi Anda berisi beberapa fungsi, Anda dapat memetakan path permintaan berbeda untuk memicu fungsi tertentu. Untuk informasi lebih lanjut, lihat Aturan pencocokan rute.
Jika Anda perlu menulis ulang URI permintaan yang cocok dengan path tertentu berdasarkan aturan, lihat Konfigurasi kebijakan rewrite (dalam pratinjau publik).

3.2 (Opsional) Konfigurasi pengaturan HTTPS
Untuk mengaktifkan akses ke nama domain kustom Anda melalui HTTPS, lakukan langkah-langkah berikut.

|
Parameter |
Deskripsi |
|
HTTPS |
Setelah Anda mengaktifkan opsi ini, Anda dapat mengakses nama domain kustom melalui HTTP atau HTTPS. Jika Anda menonaktifkan opsi ini, Anda hanya dapat mengakses nama domain kustom melalui HTTP. Catatan
Anda juga dapat memilih kotak centang Redirects HTTP Requests to HTTPS. Ini memaksa semua akses ke nama domain kustom dilakukan melalui HTTPS, karena Function Compute mengalihkan semua permintaan HTTP ke HTTPS. |
|
Certificate Type |
Jenis sertifikat yang akan diunggah. Nilai yang valid:
Catatan
Ukuran file sertifikat tidak boleh melebihi 20 KB, dan ukuran file kunci sertifikat tidak boleh melebihi 4 KB. |
|
TLS Version |
Pilih versi protokol TLS untuk fungsi Anda. Catatan
Setelah Anda memilih versi protokol TLS, Anda juga dapat memilih kotak centang Enable Support for TLS 1.3 untuk mengaktifkan TLS 1.3. |
|
Cipher Suite |
Pilih suite sandi TLS. Jika Anda tidak mengonfigurasi parameter ini, semua suite sandi dipilih secara default. Nilai yang valid:
Penting
|
3.3 (Opsional) Konfigurasi autentikasi
-
Tanpa Autentikasi: Tidak diperlukan autentikasi untuk permintaan HTTP. Akses anonim didukung, dan siapa pun dapat membuat permintaan HTTP untuk memanggil fungsi Anda.
-
Autentikasi signature: Diperlukan autentikasi signature untuk permintaan HTTP. Untuk informasi lebih lanjut, lihat Konfigurasi autentikasi signature untuk nama domain kustom.
-
Autentikasi Basic: Metode autentikasi HTTP standar. Anda mengonfigurasi username dan password di Konsol Function Compute. Saat klien menginisiasi permintaan, kredensial disertakan dalam header Authorization. Akses diberikan hanya jika kredensial dalam permintaan sesuai dengan username dan password yang dikonfigurasi. Untuk informasi lebih lanjut, lihat Konfigurasi autentikasi Basic untuk nama domain kustom.
-
Autentikasi JWT: Autentikasi JWT mengharuskan permintaan HTTP menyertakan JWT yang valid, memastikan hanya klien yang berwenang yang dapat mengakses fungsi tersebut. Untuk informasi lebih lanjut, lihat Konfigurasi autentikasi JWT untuk nama domain kustom.
-
Autentikasi Bearer: Metode autentikasi HTTP standar. Anda mengonfigurasi token yang diizinkan di Konsol Function Compute. Saat klien menginisiasi permintaan, token disertakan dalam header Authorization. Akses diberikan hanya jika token dalam permintaan sesuai dengan token yang dikonfigurasi. Untuk informasi lebih lanjut, lihat Konfigurasi autentikasi Bearer untuk nama domain kustom.
3.4 (Opsional) Konfigurasi WAF
Setelah Anda mengaktifkan WAF, WAF akan mengidentifikasi dan menyaring traffic berbahaya, meneruskan hanya permintaan normal dan aman ke fungsi back-end. Ini melindungi fungsi Anda dari intrusi berbahaya. Untuk informasi lebih lanjut, lihat Aktifkan WAF.

3.5 (Opsional) Konfigurasi pengaturan CDN
Setelah Anda mengikat nama domain kustom ke aplikasi web, Anda dapat menggunakan nama domain kustom tersebut sebagai origin server dan menambahkan nama domain yang dipercepat untuknya. Kemudian, Anda dapat mengonfigurasi CNAME untuk nama domain yang dipercepat agar mengaktifkan CDN. Dengan aplikasi di Function Compute sebagai origin server, konten di-cache di node edge. Hal ini memungkinkan pengguna mengambil konten dari lokasi terdekat, mengurangi latensi akses, dan meningkatkan kualitas layanan.
-
Aktifkan akselerasi CDN. Masukkan CDN-Accelerated Domain Name kustom, lalu klik Create.
Penting-
Akselerasi CDN mengonsumsi traffic internet dan dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.
-
Nama domain kustom dan nama domain yang dipercepat tidak boleh sama. Untuk menghemat sumber daya domain, Anda dapat mengonfigurasi nama domain yang dipercepat sebagai subdomain dari nama domain kustom Anda. Misalnya, jika nama domain kustom Anda adalah
example.com, Anda dapat mengatur nama domain yang dipercepat menjadifast.example.com.
-
-
Klik nama domain kustom yang baru saja Anda konfigurasi. Di bagian CDN Acceleration Settings pada halaman detail, klik CDN Settings di kolom Actions. Hal ini akan mengarahkan Anda ke Konsol CDN Alibaba Cloud, tempat Anda dapat memperoleh CNAME yang ditetapkan untuk nama domain yang dipercepat.


CNAME memiliki format
nama-domain-yang-dipercepat.w.kunlun**.com, misalnya,fast.example.com.w.kunlunle.com. -
Login ke Konsol DNS Alibaba Cloud. Temukan nama domain kustom Anda dan tambahkan catatan CNAME untuk nama domain yang dipercepat, arahkan ke CNAME yang ditetapkan untuk mengaktifkan akselerasi. Untuk informasi lebih lanjut, lihat Konfigurasi resolusi nama domain.

Atur Hostname ke awalan subdomain, seperti
fast. Atur Record Value ke CNAME yang Anda peroleh pada langkah sebelumnya.
3.6 (Opsional) Konfigurasi CORS
Anda dapat mengonfigurasi CORS untuk nama domain kustom dengan memanggil operasi API UpdateCustomDomain. Untuk detailnya, lihat Penanganan permintaan CORS.
4. Verifikasi nama domain
4.1 Verifikasi akses nama domain
-
Metode 1: Jalankan perintah
curl URL. Contoh:curl example.com/login. -
Metode 2: Gunakan browser.
Masukkan URL permintaan di bilah alamat browser Anda dan tekan Enter untuk memverifikasi bahwa fungsi tujuan dipanggil.
4.2 (Opsional) Verifikasi akses domain yang dipercepat
Gunakan nama domain akselerasi CDN yang Anda konfigurasi di Langkah 3.5 (Opsional) Konfigurasi pengaturan CDN untuk mengakses aplikasi di browser. Kemudian, buka developer tools dan periksa nilai bidang X-Cache di header respons untuk memverifikasi bahwa akselerasi CDN berfungsi.
Nilai bidang X-Cache menunjukkan status cache CDN. Nilai MISS menunjukkan permintaan tidak ditemukan di cache pada node edge, sehingga node tersebut mengambil resource dari origin server. Setelah resource di-cache di node edge, permintaan berikutnya akan menghasilkan HIT.
|
Akses pertama: Miss |
Akses berikutnya: Hit |
|
|
|
Referensi suite sandi
Suite sandi kuat dan lemah
Kompatibilitas versi TLS dan suite sandi
Pemetaan suite sandi RFC dan OpenSSL
Aturan pencocokan
Aturan pencocokan rute
Untuk mengikat nama domain kustom, Anda mengonfigurasi pemetaan antara path dan fungsi. Hal ini memungkinkan Anda mengarahkan permintaan dari path berbeda untuk memicu fungsi berbeda. Function Compute mendukung pencocokan eksak dan pencocokan wildcard. Aturannya sebagai berikut:
-
Pencocokan eksak: Memicu fungsi hanya ketika path permintaan persis sesuai dengan path yang dikonfigurasi.
Sebagai contoh, jika Anda mengonfigurasi rute dengan path /a untuk memicu fungsi f1 (versi 1), hanya permintaan untuk path /a yang akan memanggil fungsi tersebut. Permintaan untuk /a/ tidak akan.
-
Pencocokan wildcard: Anda dapat menggunakan wildcard (*) di akhir path untuk mencocokkan beberapa sub-path.
Sebagai contoh, jika Anda mengonfigurasi rute dengan path /login/* untuk memicu fungsi f2 (versi 1), permintaan apa pun yang path-nya dimulai dengan awalan /login/, seperti /login/a atau /login/b/c/d, akan memanggil fungsi tersebut.
-
Jika beberapa rute dikonfigurasi untuk nama domain kustom, pencocokan eksak memiliki prioritas lebih tinggi daripada pencocokan wildcard.
-
Pencocokan wildcard mengikuti prinsip Pencocokan awalan terpanjang.
Sebagai contoh, asumsikan Anda mengonfigurasi dua path, /login/a/* dan /login/*, untuk nama domain kustom
example.com. Permintaan dengan URL example.com/login/a/b cocok dengan kedua path tersebut. Namun, berdasarkan prinsip Pencocokan awalan terpanjang, Function Compute mengarahkan permintaan ke path /login/a/*.
Contoh
Asumsikan nama domain kustom adalah example.com dan Anda telah mengonfigurasi lima aturan routing berikut:
|
Aturan routing |
Path |
Fungsi |
Versi |
|
Aturan routing 1 |
/ |
f1 |
1 |
|
Aturan routing 2 |
/* |
f2 |
2 |
|
Aturan routing 3 |
/login |
f3 |
3 |
|
Aturan routing 4 |
/login/a |
f4 |
4 |
|
Aturan routing 5 |
/login/* |
f5 |
5 |
Tabel berikut menunjukkan hasil pencocokan akhir.
|
URL permintaan |
Fungsi yang dicocokkan |
Versi yang dicocokkan |
Path yang dicocokkan |
|
example.com |
f1 |
1 |
/ |
|
example.com/user |
f2 |
2 |
/* |
|
example.com/login |
f3 |
3 |
/login |
|
example.com/login/a |
f4 |
4 |
/login/a |
|
example.com/login/a/b |
f5 |
5 |
/login/* |
|
example.com/login/b |
f5 |
5 |
/login/* |
Aturan pencocokan nama domain
Function Compute mencocokkan permintaan masuk ke nama domain kustom yang sesuai berdasarkan nama domain permintaan, lalu meneruskan permintaan ke fungsi yang sesuai. Function Compute mendukung pencocokan eksak dan pencocokan wildcard untuk nama domain. Aturannya sebagai berikut:
-
Pencocokan eksak: Memicu fungsi hanya ketika nama domain permintaan persis sesuai dengan nama domain tunggal yang dikonfigurasi.
-
Pencocokan wildcard: Memicu fungsi jika nama domain permintaan cocok dengan nama domain wildcard yang dikonfigurasi. Anda hanya dapat menggunakan satu wildcard (*), dan wildcard tersebut harus berada di awal nama domain.
-
Jika permintaan cocok dengan nama domain tunggal dan nama domain wildcard, nama domain tunggal memiliki prioritas lebih tinggi.
-
Dalam pencocokan wildcard, nama domain wildcard hanya dapat mencocokkan nama domain pada level yang sama. Sebagai contoh,
*.aliyun.comdapat mencocokkanfc.aliyun.comtetapi tidak dapat mencocokkancn-hangzhou.fc.aliyun.com. Hal ini karena*.aliyun.comdanfc.aliyun.comkeduanya merupakan domain tingkat tiga, sedangkancn-hangzhou.fc.aliyun.comadalah domain tingkat empat.
Contoh
Asumsikan Anda memiliki nama domain kustom berikut yang dikonfigurasi: fc.aliyun.com, *.aliyun.com, dan *.fc.aliyun.com. Tabel berikut menunjukkan cara Function Compute mencocokkan permintaan dari nama domain berbeda.
|
Nama domain permintaan |
Nama domain yang dicocokkan |
|
fc.aliyun.com |
fc.aliyun.com |
|
fnf.aliyun.com |
*.aliyun.com |
|
cn-hangzhou.fc.aliyun.com |
*.fc.aliyun.com |
|
accountID.cn-hangzhou.fc.aliyun.com |
None |
FAQ
Titik akhir publik di lingkungan produksi
Kesalahan 502 Bad Gateway
Kesalahan nama domain dalam bahasa Mandarin
Permasalahan unduhan paksa
Pengalihan 301
Tidak dapat memilih fungsi
Kegagalan pemicu path rute
Diagnostik
Jika terjadi kesalahan saat Anda mengikat nama domain kustom, server akan mengembalikan pesan kesalahan. Gunakan tabel kode kesalahan umum berikut untuk mengidentifikasi dan menyelesaikan masalah dengan cepat.
|
Kode kesalahan |
Kode status HTTP |
Pesan kesalahan |
Penyebab |
|
InvalidICPLicense |
400 |
nama domain '%s' tidak memiliki pendaftaran ICP, atau pendaftaran ICP tidak dengan Alibaba Cloud |
Nama domain tidak memiliki pendaftaran ICP atau informasi pendaftaran ICP tidak mencantumkan Alibaba Cloud sebagai penyedia layanan. |
|
DomainNameNotResolved |
400 |
nama domain '%s' tidak di-resolve ke titik akhir Function Compute Anda; titik akhir yang diharapkan adalah '%s' |
Catatan CNAME tidak dikonfigurasi untuk mengarahkan nama domain ke titik akhir yang ditentukan. Anda dapat memverifikasi konfigurasi dengan menjalankan perintah dig atau memeriksa pengaturan di server DNS Anda. |
|
DomainRouteNotFound |
404 |
tidak ditemukan rute di domain '%s' untuk path '%s' |
Tidak ada fungsi yang dikonfigurasi untuk menangani permintaan untuk path yang ditentukan. |
|
TriggerNotFound |
404 |
pemicu 'http' tidak ada di layanan '%s' dan fungsi '%s' |
Fungsi yang diikat ke nama domain kustom tidak memiliki pemicu HTTP. |
|
DomainNameNotFound |
404 |
nama domain '%s' tidak ada |
Nama domain yang ditentukan tidak ada. |
|
DomainNameAlreadyExists |
409 |
nama domain '%s' sudah ada |
Nama domain yang ditentukan sudah ada. |
Jika masalah berlanjut, bergabunglah dengan grup pengguna DingTalk (ID: 64970014484) dan hubungi engineer Function Compute untuk bantuan.

