Untuk mengakses aplikasi atau fungsi Function Compute di lingkungan produksi menggunakan nama domain tetap—atau untuk mencegah unduhan paksa saat mengakses Pemicu HTTP—Anda dapat mengikat nama domain kustom ke aplikasi atau fungsi tersebut.
Skenario
Anda dapat mengikat nama domain kustom ke aplikasi atau fungsi dalam skenario berikut:
Anda membuat aplikasi web dan memindahkannya ke Function Compute. Anda ingin pengguna mengakses aplikasi melalui nama domain tetap.
Anda membangun aplikasi web menggunakan Konsol Function Compute. Anda ingin jalur berbeda dari satu nama domain memicu fungsi yang berbeda.
Anda membuat aplikasi—seperti aplikasi Stable Diffusion—di Serverless Application Center Function Compute. Anda ingin pengguna mengakses aplikasi melalui nama domain tetap.
Batasan
Saat mengikat nama domain kustom ke fungsi, pilih wilayah yang sama dengan tempat fungsi tersebut berada.
Nama domain kustom yang dikonfigurasi bersifat case-sensitive. Masukkan nama domain persis seperti yang telah mendapatkan pendaftaran ICP.
Anda dapat mengonfigurasi nama domain wildcard dan nama domain standar, tetapi tidak dapat mengonfigurasi nama domain yang mengandung karakter Tiongkok.
Prinsip implementasi akses aplikasi melalui nama domain kustom
Prasyarat
Fungsi atau aplikasi telah dibuat. Untuk informasi selengkapnya, lihat Buat Fungsi dan Buat Aplikasi.
Mengikat nama domain kustom ke aplikasi berarti mengikatnya ke fungsi-fungsi yang secara otomatis dibuat bersama aplikasi tersebut. Di halaman Environment Details aplikasi, temukan fungsi-fungsi tersebut di bagian Resource Information. Klik nama fungsi untuk membuka halaman detailnya.
Persiapkan nama domain kustom yang telah mendapatkan pendaftaran ICP untuk website di Alibaba Cloud.
Ajukan pendaftaran ICP berdasarkan penyedia layanan dan akun yang terkait dengan nama domain Anda.
Nama domain yang didaftarkan oleh akun Alibaba Cloud Anda saat ini
Ajukan pendaftaran ICP di sistem Pendaftaran ICP Alibaba Cloud.
Nama domain yang didaftarkan oleh akun Alibaba Cloud lain
Kami menyarankan agar Anda menggunakan akun Alibaba Cloud yang terkait dengan pendaftaran nama domain Anda untuk mengajukan pendaftaran ICP. login ke Sistem Pendaftaran ICP Alibaba Cloud untuk mengajukan pendaftaran ICP untuk nama domain kustom Anda.
Nama domain yang didaftarkan oleh akun non-Alibaba Cloud
Jika nama domain Anda tidak diajukan melalui Alibaba Cloud, tambahkan Alibaba Cloud sebagai penyedia layanan dalam pendaftaran ICP. Ajukan pendaftaran ICP di sistem Pendaftaran ICP Alibaba Cloud.
CatatanAnda tidak perlu mengajukan pendaftaran ICP untuk nama domain kustom yang diikat ke fungsi di China (Hong Kong) atau wilayah di luar China.
Jika Anda tidak yakin penyedia layanan mana yang mengelola nama domain Anda, periksa di halaman Pencarian Informasi Domain WHOIS.
Jika Anda tidak yakin apakah nama domain Anda termasuk dalam akun Alibaba Cloud Anda saat ini, periksa di Konsol DNS Alibaba Cloud.
1. Tambahkan nama domain kustom
Login ke Konsol Function Compute. Di panel navigasi sebelah kiri, pilih . Pilih wilayah, lalu klik Add Custom Domain Name.
PentingSaat mengikat nama domain kustom ke fungsi, pilih wilayah yang sama dengan fungsi tersebut.
Di halaman Add Custom Domain Name, masukkan nama domain kustom yang telah diajukan ke Alibaba Cloud atau ditambahkan ke pendaftaran ICP yang sudah ada. Anda dapat menentukan nama domain tunggal (misalnya,
www.aliyun.com) atau nama domain wildcard (misalnya,*.aliyun.com).Ambil 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.comID akun Alibaba Cloud Anda adalah 1413397765****, dan fungsi atau aplikasi berada di 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. Arahkan nama domain yang telah diajukan ke CNAME Function Compute. Untuk informasi selengkapnya, lihat Konfigurasi resolusi nama domain.

Seperti yang ditunjukkan pada gambar, atur Record Value ke CNAME Function Compute yang diperoleh pada langkah sebelumnya. Jika Anda ingin mengakses nama domain melalui Internet, atur Record Value ke Internet CNAME Function Compute.
3. Selesaikan penambahan nama domain kustom
Kembali ke halaman Add Custom Domain Name di langkah 1. Konfigurasi opsi berikut, lalu klik Create.
3.1 Pengaturan routing
Jika aplikasi Anda berisi beberapa fungsi, petakan jalur permintaan ke fungsi-fungsi tersebut. Jalur yang berbeda akan memicu fungsi yang berbeda. Untuk informasi selengkapnya, lihat Aturan pencocokan rute.
Untuk menulis ulang URI permintaan yang sesuai dengan jalur tertentu, lihat Konfigurasi kebijakan rewrite (pratinjau publik).

3.2 (Opsional) Pengaturan HTTPS
Untuk mengaktifkan akses HTTPS ke nama domain kustom, ikuti langkah-langkah berikut.

Pengaturan | Aksi |
HTTPS | Aktifkan opsi ini untuk mengizinkan akses melalui HTTP atau HTTPS. Nonaktifkan untuk mengizinkan akses hanya melalui HTTP. Catatan Pilih kotak centang Redirect HTTP to HTTPS untuk mengizinkan akses hanya melalui HTTPS. Function Compute akan mengarahkan semua permintaan HTTP ke HTTPS. |
Certificate type | Pilih jenis sertifikat yang akan diunggah:
Catatan Sertifikat yang diunggah tidak boleh lebih besar dari 20 KB. Kunci sertifikat tidak boleh lebih besar dari 4 KB. |
TLS version | Pilih versi protokol TLS yang digunakan oleh fungsi. Catatan Setelah memilih versi TLS, centang kotak Enable TLS 1.3 untuk mendukung TLS 1.3. |
Cipher suite | Pilih paket sandi TLS. Jika Anda membiarkannya kosong, semua paket sandi akan dipilih. Opsi:
Penting
|
3.3 (Opsional) Pengaturan autentikasi
Tanpa autentikasi: Tidak diperlukan verifikasi identitas untuk permintaan HTTP. Akses anonim diizinkan. Siapa pun dapat memanggil fungsi Anda.
Autentikasi signature: Otentikasi permintaan HTTP menggunakan signature digital. Untuk informasi selengkapnya, lihat Konfigurasi autentikasi signature untuk nama domain kustom.
Autentikasi Basic: Gunakan autentikasi basic HTTP. Konfigurasikan username dan password di Konsol Function Compute. Klien harus menyertakan kredensial yang valid di header Authorization. Permintaan hanya berhasil jika kredensial cocok. Untuk informasi selengkapnya, lihat Konfigurasi autentikasi Basic untuk nama domain kustom.
Autentikasi JWT: Otentikasi permintaan HTTP menggunakan Token Web JSON (JWT). Hanya klien dengan JWT yang valid yang dapat mengakses fungsi. Untuk informasi selengkapnya, lihat Konfigurasi autentikasi JWT untuk nama domain kustom.
Autentikasi Bearer: Otentikasi permintaan HTTP menggunakan token bearer. Konfigurasikan token yang diizinkan di Konsol Function Compute. Klien harus menyertakan token yang valid di header Authorization. Permintaan hanya berhasil jika token cocok. Untuk informasi selengkapnya, lihat Konfigurasi autentikasi Bearer untuk nama domain kustom.
3.4 (Opsional) Pengaturan Web Application Firewall
Aktifkan fitur ini untuk mengidentifikasi traffic berbahaya ke fungsi atau aplikasi. Traffic scrubbing dan filtering akan menghapus traffic berbahaya, sedangkan traffic normal dan aman akan diteruskan ke fungsi backend untuk mencegah akses tidak sah. Untuk informasi selengkapnya, lihat Aktifkan perlindungan Web Application Firewall.

3.5 (Opsional) Pengaturan CDN
Setelah mengikat nama domain kustom ke aplikasi web, gunakan nama domain tersebut sebagai domain origin dan tambahkan nama domain yang dipercepat. Kemudian konfigurasi CNAME untuk nama domain yang dipercepat agar mengaktifkan akselerasi CDN. Aplikasi Anda yang dideploy di Function Compute berfungsi sebagai origin. Konten dipublikasikan ke node tepi sehingga pengguna akhir dapat mengambilnya dengan cepat, mengurangi latensi dan meningkatkan kualitas layanan.
Aktifkan akselerasi CDN. Seperti yang ditunjukkan pada gambar, masukkan CDN-accelerated domain name kustom, lalu klik Create.
PentingAkselerasi CDN mengonsumsi traffic Internet dan dikenakan biaya. Untuk informasi selengkapnya, lihat Ikhtisar penagihan.
Nama domain kustom dan nama domain yang dipercepat tidak boleh identik. Untuk menghemat resource domain, atur nama domain yang dipercepat sebagai domain tingkat kedua (subdomain) dari nama domain kustom Anda. Misalnya, jika nama domain kustom Anda adalah
example.com, atur nama domain yang dipercepat menjadifast.example.com.
Klik nama domain kustom yang telah Anda konfigurasi. Di bagian CDN Acceleration Settings pada halaman detail nama domain kustom, klik Actions, lalu CDN Settings. Buka Konsol CDN untuk mendapatkan CNAME yang ditetapkan oleh Alibaba Cloud CDN untuk nama domain yang dipercepat.


Seperti yang ditunjukkan pada gambar, CNAME mengikuti format
accelerated-domain-name.w.kunlun**.com. Contoh:fast.example.com.w.kunlunle.com.Login ke Konsol DNS Alibaba Cloud. Temukan nama domain kustom Anda. Arahkan rekaman DNS untuk nama domain yang dipercepat ke CNAME yang ditetapkan untuk mengaktifkan akselerasi. Untuk informasi selengkapnya, lihat Konfigurasi resolusi nama domain.

Seperti yang ditunjukkan pada gambar, atur Host Record ke level pertama nama domain yang dipercepat. Dalam contoh ini, nilainya adalah
fast. Atur Record Value ke nama domain yang dipercepat yang Anda konfigurasi pada langkah sebelumnya.
3.6 (Opsional) Pengaturan CORS
Konfigurasikan CORS untuk nama domain kustom menggunakan API Update custom domain name. Untuk detailnya, lihat Penanganan permintaan CORS.
4. Verifikasi nama domain kustom
4.1 Verifikasi akses ke nama domain kustom
Metode 1: Uji menggunakan command line
curl URL. Contoh:curl example.com/login.Metode 2: Uji menggunakan browser.
Masukkan URL permintaan di bilah alamat browser dan tekan Enter untuk memverifikasi apakah fungsi target dipanggil.
4.2 (Opsional) Verifikasi akses ke nama domain yang dipercepat
Di browser, akses aplikasi Anda menggunakan nama domain akselerasi CDN yang dikonfigurasi di langkah 3.5 (Opsional) Pengaturan CDN. Buka developer tools dan periksa bidang X-Cache di tanggapan untuk menentukan apakah nama domain yang dipercepat aktif.
Bidang X-Cache menunjukkan efek aktual dari kebijakan cache CDN. Nilai yang dimulai dengan MISS berarti permintaan pertama meleset dari cache Titik Kehadiran (POP) CDN dan mengambil resource dari origin. Setelah caching, permintaan berikutnya mengembalikan HIT, artinya resource disajikan dari POP.
Kegagalan permintaan pertama | Permintaan berikutnya mengenai |
|
|
Paket sandi
Paket sandi kuat dan lemah
Versi TLS dan pemetaan paket sandi
Pemetaan nama paket sandi RFC dan OpenSSL
Aturan pencocokan
Aturan pencocokan rute
Saat Anda mengikat nama domain kustom, petakan jalur permintaan ke fungsi-fungsi. Permintaan dari jalur yang berbeda akan memicu fungsi yang berbeda. Function Compute mendukung pencocokan eksak dan pencocokan kabur. Aturan:
Pencocokan eksak: Fungsi hanya dipicu jika jalur permintaan persis sesuai dengan jalur yang dikonfigurasi.
Misalnya, jika jalurnya adalah /a, fungsinya adalah f1, dan versinya adalah 1, hanya permintaan ke /a yang memicu f1 versi 1. Permintaan ke /a/ gagal.
Pencocokan kabur: Gunakan tanda bintang (*) sebagai wildcard di akhir jalur.
Misalnya, jika jalurnya adalah /login/*, fungsinya adalah f2, dan versinya adalah 1, permintaan ke jalur yang dimulai dengan /login/—seperti /login/a atau /login/b/c/d—memanggil f2 versi 1.
Jika terdapat beberapa rute untuk nama domain kustom, pencocokan eksak didahulukan daripada pencocokan kabur.
Pencocokan kabur menggunakan Pencocokan awalan terpanjang.
Misalnya, jika Anda mengonfigurasi /login/a/* dan /login/*, dan nama domain kustomnya adalah
example.com, permintaan ke example.com/login/a/b cocok dengan keduanya. Namun, Pencocokan awalan terpanjang memilih /login/a/*.
Contoh
Asumsikan nama domain kustom adalah example.com. Berdasarkan langkah-langkah dalam topik ini, Anda mengonfigurasi lima aturan routing:
Aturan routing | Path | Nama 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 |
Pencocokan akhirnya adalah:
URL Permintaan | Fungsi yang Cocok | Versi yang Cocok | Jalur yang Cocok |
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 nama domain dalam permintaan Anda dengan nama domain yang dikonfigurasi dan meneruskan permintaan ke fungsi yang sesuai. Fitur ini mendukung pencocokan eksak dan pencocokan kabur. Aturan:
Pencocokan eksak: Fungsi hanya dipicu jika nama domain permintaan persis sesuai dengan nama domain kustom Anda.
Pencocokan kabur: Mendukung nama domain wildcard (juga disebut nama domain generik). Fungsi dipicu jika nama domain permintaan cocok dengan nama domain kustom Anda menggunakan wildcard. Anda dapat menggunakan paling banyak satu tanda bintang (*), dan harus berada di awal nama domain.
Jika permintaan cocok dengan nama domain tunggal dan nama domain wildcard, nama domain tunggal didahulukan.
Dalam pencocokan kabur, nama domain wildcard hanya cocok dengan domain pada tingkat yang sama. Contohnya,
*.aliyun.comcocok denganfc.aliyun.comtetapi bukancn-hangzhou.fc.aliyun.com. Baik*.aliyun.commaupunfc.aliyun.comadalah domain tingkat tiga, sedangkancn-hangzhou.fc.aliyun.comadalah tingkat empat.
Contoh
Asumsikan Anda memiliki tiga nama domain kustom: fc.aliyun.com, *.aliyun.com, dan *.fc.aliyun.com. Tabel berikut menunjukkan cara permintaan mencocokkannya:
Nama domain permintaan | Nama domain yang cocok |
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 | No match |
FAQ
Apakah titik akhir publik Pemicu HTTP dapat digunakan di lingkungan produksi?
Apa yang harus saya lakukan jika terjadi error 502 Bad Gateway saat mengakses nama domain kustom?
Apa yang harus saya lakukan jika terjadi error saat mengonfigurasi nama domain kustom dengan nama domain beraksara Tiongkok?
Bagaimana cara mengatasi unduhan paksa saat mengakses domain melalui browser?
Apa yang harus saya lakukan jika terjadi pengalihan 301 saat mengakses nama domain yang dipercepat?
Apa yang harus saya lakukan jika tidak dapat memilih fungsi yang ada saat mengonfigurasi rute?
Apa yang harus saya lakukan jika rute gagal memicu fungsi?
Diagnostik
Jika terjadi error saat mengikat nama domain kustom, server akan mengembalikan pesan error. Tabel berikut mencantumkan kode error umum untuk membantu Anda mengidentifikasi dan menyelesaikan masalah dengan cepat.
Kode kesalahan | Kode status HTTP | Pesan kesalahan | Penyebab |
InvalidICPLicense | 400 | domain name '%s' has not got ICP license, or the ICP license does not belong to Aliyun | Nama domain tidak memiliki pendaftaran ICP atau pendaftaran ICP tidak mencantumkan Alibaba Cloud sebagai penyedia layanan. |
DomainNameNotResolved | 400 | domain name '%s' has not been resolved to your FC endpoint, the expected endpoint is '%s' | Nama domain tidak memiliki CNAME yang mengarah ke titik akhir yang ditentukan. Konfirmasi menggunakan perintah dig atau server DNS Anda. |
DomainRouteNotFound | 404 | no route found in domain '%s' for path '%s' | Tidak ada fungsi yang dikonfigurasi untuk jalur yang ditentukan. |
TriggerNotFound | 404 | trigger 'http' does not exist in service '%s' and function '%s' | Fungsi yang diikat ke nama domain kustom tidak memiliki Pemicu HTTP. |
DomainNameNotFound | 404 | domain name '%s' does not exist | Nama domain tidak ada. |
DomainNameAlreadyExists | 409 | domain name '%s' already exists | Nama domain sudah ada. |
Jika masalah berlanjut, bergabunglah dengan grup DingTalk 64970014484 untuk dukungan teknis.

