Function Compute menyediakan titik akhir default untuk fungsi HTTP yang Anda buat. Saat mengakses titik akhir ini di browser, browser memicu unduhan paksa. Untuk mengakses fungsi tersebut tanpa memicu unduhan paksa atau menggunakan nama domain tetap, Anda harus mengonfigurasi nama domain kustom.
Skenario umum
Fungsi HTTP berperan sebagai aplikasi web yang memproses permintaan HTTP dan mengembalikan respons kepada pemanggil. Dalam skenario berikut, Anda akan menghubungkan domain kustom ke aplikasi web tersebut.
Anda membuat aplikasi web dan memindahkannya ke Function Compute, lalu ingin mengakses aplikasi tersebut melalui nama domain tetap.
Anda membangun aplikasi web di Function Compute console. Anda ingin mengaksesnya menggunakan titik akhir default yang disediakan oleh Function Compute:
<account_id>.<region_id>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/[action?queries]. Namun, akses ke titik akhir ini di browser memicu unduhan paksa. Anda perlu mengubah alamat akses aplikasi web tanpa memengaruhi pengguna.
Prasyarat
Buat fungsi HTTP. Hanya fungsi HTTP yang dapat dipicu oleh permintaan yang dikirim ke nama domain kustom.
Batasan
Nama domain dalam bahasa Mandarin tidak didukung.
Nama domain kustom bersifat case-sensitive. Masukkan nama domain persis seperti yang tercantum dalam pendaftaran ICP Anda.
Anda dapat mengonfigurasi nama domain wildcard maupun nama domain standar.
Prosedur
Konfigurasi nama domain kustom secara end-to-end
Langkah 1: Daftarkan nama domain Anda untuk ICP Filing
Bergantung pada penyedia layanan (SP) domain dan akun terkait, Anda dapat merujuk ke panduan operasional yang sesuai untuk melakukan pendaftaran ICP.
Nama domain yang diikat ke fungsi di China (Hong Kong) atau wilayah di luar Tiongkok tidak memerlukan pendaftaran ICP.
Jika Anda tidak yakin penyedia layanan mana yang mengelola nama domain Anda, periksa di halaman Pencarian WHOIS.
Jika Anda tidak yakin apakah nama domain Anda termasuk dalam Akun Alibaba Cloud saat ini, periksa di Konsol DNS Alibaba Cloud.
Nama domain terdaftar di bawah Akun Alibaba Cloud Anda saat ini
Gunakan Sistem Pendaftaran ICP Alibaba Cloud untuk mendaftarkan nama domain kustom Anda. Untuk detailnya, lihat Proses pendaftaran ICP.
Nama domain terdaftar di bawah akun Alibaba Cloud lain
Kami merekomendasikan mendaftarkan nama domain menggunakan akun Alibaba Cloud tempat nama domain tersebut terdaftar.
Nama domain terdaftar di luar Alibaba Cloud
Jika entitas dan nama domain Anda telah terdaftar di penyedia layanan lain dan kini Anda ingin menambahkan Alibaba Cloud sebagai penyedia layanan atau beralih ke Alibaba Cloud, lengkapi pendaftaran ICP untuk Alibaba Cloud. Gunakan Sistem Pendaftaran ICP Alibaba Cloud untuk mendaftarkan nama domain kustom Anda.
Langkah 2: Konfigurasi resolusi nama domain
Untuk petunjuk mengonfigurasi resolusi nama domain, lihat Konfigurasi resolusi nama domain.
Anda harus mengarahkan nama domain yang telah didaftarkan ICP ke titik akhir Function Compute di wilayah yang sesuai, yaitu dengan mengonfigurasi rekaman CNAME untuk nama domain kustom agar mengarah ke titik akhir Function Compute. Di halaman resolusi nama domain, tambahkan catatan dengan Record Type berupa CNAME dan Record Value berupa titik akhir Function Compute.
Format titik akhir Function Compute adalah sebagai berikut:
Jenis titik akhir | Format | Contoh | |
Titik akhir jaringan publik |
| Jika nama domain kustom Anda adalah example.com, ID akun Alibaba Cloud Anda adalah 164901546557****, dan wilayah Anda adalah China (Shanghai). | Titik akhir jaringan publik Anda adalah |
Titik akhir jaringan pribadi |
| Titik akhir jaringan pribadi Anda adalah | |
Jika Anda ingin mengakses nama domain ini melalui jaringan publik, konfigurasikan Record Value sebagai titik akhir publik Function Compute.
Langkah 3: Tambahkan nama domain kustom
Login ke Konsol Function Compute. Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Di halaman Custom Domains, klik Add Custom Domain Name.
Di halaman Add Custom Domain Name, masukkan pengaturan yang diperlukan, lalu klik Create.
Item konfigurasi
Action
Domain name
Masukkan nama domain kustom Anda. Nama domain harus telah didaftarkan di Alibaba Cloud atau ditambahkan ke pendaftaran ICP Anda sebagai penyedia layanan. Anda dapat memasukkan satu nama domain (misalnya,
www.aliyun.com) atau nama domain wildcard (misalnya,*.aliyun.com).HTTPS
Aktifkan atau nonaktifkan akses HTTPS ke nama domain kustom Anda sesuai kebutuhan. Opsi:
Enable: Aktifkan akses HTTPS. Pengguna dapat mengakses nama domain kustom Anda menggunakan HTTP atau HTTPS.
CatatanAnda juga dapat memilih kotak centang Force HTTPS. Jika dipilih, hanya akses melalui protokol HTTPS yang diizinkan untuk domain kustom ini, dan Function Compute mengalihkan semua permintaan HTTP ke domain kustom ini ke protokol HTTPS.
Disable: Nonaktifkan akses HTTPS. Pengguna hanya dapat mengakses nama domain kustom Anda menggunakan HTTP. Permintaan HTTPS gagal.
Certificate type
Pilih jenis sertifikat yang akan diunggah. Anda harus mengatur opsi ini jika mengaktifkan akses HTTPS. Opsi:
Alibaba Cloud SSL Certificate: Pilih sertifikat SSL dari akun Alibaba Cloud Anda. Jika daftar drop-down Certificate Name kosong, berarti Anda belum membeli sertifikat SSL Alibaba Cloud. Login ke Konsol Manajemen Sertifikat SSL untuk membelinya.
Manual Upload: Masukkan Certificate Name. Tempel konten sertifikat PEM dan kunci sertifikat PEM.
CatatanUkuran sertifikat tidak boleh melebihi 20 KB. Ukuran kunci sertifikat tidak boleh melebihi 4 KB.
TLS version
Pilih versi TLS untuk fungsi Anda.
CatatanPilih versi TLS. Lalu centang kotak Enable TLS 1.3 untuk mendukung TLS 1.3.
Cipher suite
Pilih paket sandi TLS. Jika Anda tidak mengatur opsi ini, semua paket sandi diaktifkan secara default. Opsi:
All cipher suites, highest compatibility, lower security: Pilih semua paket sandi. Untuk daftar paket sandi yang didukung oleh Function Compute, lihat Daftar paket sandi kuat dan lemah.
Custom cipher suites for the selected TLS version. Choose carefully to avoid impacting your service: Aktifkan hanya beberapa paket sandi. Daftar drop-down menampilkan semua paket sandi. Klik ikon
di samping paket sandi untuk menghapusnya. Simpan hanya paket sandi yang didukung oleh versi TLS yang Anda pilih.
PentingPilih paket sandi kustom dengan hati-hati. Pastikan paket sandi sisi server dan sisi klien sesuai.
Untuk versi TLS dan paket sandi yang didukungnya, lihat Versi TLS dan paket sandi yang didukung.
Function Compute menggunakan konvensi penamaan RFC untuk paket sandi. Nama paket sandi berbeda-beda tergantung konvensi penamaannya. Untuk perbedaan antara nama paket sandi RFC dan OpenSSL, lihat Pemetaan antara nama paket sandi RFC dan nama paket sandi OpenSSL.
CDN acceleration
Aktifkan atau nonaktifkan akselerasi CDN sesuai kebutuhan. Setelah Anda mengaktifkan akselerasi CDN, pengguna akhir membaca konten lebih cepat melalui nama domain akselerasi CDN.
Enable: Aktifkan akselerasi CDN. Masukkan CDN-accelerated domain name kustom. Lalu login ke Konsol CDN untuk mengonfigurasi CNAME untuk nama domain yang dipercepat. Untuk informasi lebih lanjut, lihat Langkah 4: Aktifkan akselerasi CDN (opsional).
Disable: Nonaktifkan akselerasi CDN.
Web Application Firewall
Aktifkan atau nonaktifkan Web Application Firewall sesuai kebutuhan. Setelah Anda mengaktifkan Web Application Firewall untuk nama domain kustom Anda, firewall tersebut mendeteksi dan memblokir trafik berbahaya ke domain Anda. Ini mencegah akses tidak sah ke fungsi Anda. Untuk detailnya, lihat Aktifkan Web Application Firewall.
Enable: Aktifkan perlindungan Web Application Firewall.
Disable: Nonaktifkan perlindungan Web Application Firewall.
Routing configuration
Petakan path permintaan ke fungsi. Permintaan ke path berbeda memicu fungsi berbeda. Atur bidang-bidang berikut:
Path: Path permintaan yang memicu fungsi tertentu dalam layanan tertentu.
Service name: Layanan yang menangani permintaan ke path yang ditentukan.
Function name: Fungsi dalam layanan yang ditentukan yang menangani permintaan ke path yang ditentukan.
Version or alias: Versi atau alias fungsi dalam layanan yang ditentukan yang menangani permintaan ke path yang ditentukan.
Rewrite policy: Tulis ulang URI permintaan yang sesuai dengan path yang ditentukan. Untuk detailnya, lihat Prosedur.
Anda dapat menambahkan beberapa aturan routing. Untuk informasi lebih lanjut, lihat Aturan pencocokan routing.
Setelah konfigurasi selesai, Anda dapat mengedit atau menghapus nama domain kustom sesuai kebutuhan.
PentingMenghapus nama domain kustom menyebabkan semua permintaan ke domain tersebut gagal. Lakukan dengan hati-hati.
Langkah 4: Aktifkan akselerasi CDN (opsional)
Setelah mengikat nama domain kustom ke aplikasi web, Anda dapat menggunakan nama domain kustom tersebut sebagai nama domain origin, menambahkan nama domain yang dipercepat, lalu mengonfigurasi CNAME untuk nama domain yang dipercepat. Hal ini mengaktifkan akselerasi CDN untuk domain tersebut. Saat Anda men-deploy aplikasi di Function Compute sebagai origin, konten sumber didistribusikan ke node tepi sehingga pengguna akhir dapat mengambil konten yang dibutuhkan dengan cepat. Ini secara efektif mengurangi latensi akses dan meningkatkan kualitas layanan.
Setelah berhasil menambahkan nama domain yang dipercepat, toggle CDN akan diaktifkan untuk nama domain kustom Anda di Konsol Function Compute. Anda juga akan melihat nama domain yang dipercepat tersebut di Konsol CDN.
Akselerasi CDN mengonsumsi lalu lintas internet dan menimbulkan biaya trafik. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan.
Nama domain kustom dan nama domain yang dipercepat tidak boleh sama. Misalnya, jika nama domain kustom Anda adalah www.test.com, nama domain yang dipercepat harus berbeda, seperti cdn.test.com.
Login ke Konsol CDN dan aktifkan akselerasi CDN.
Untuk petunjuknya, lihat Tambahkan nama domain yang dipercepat.
Saat mengatur origin server information, pilih Function Compute domain name, lalu pilih wilayah layanan Function Compute target dan nama domain kustom yang sudah ada.
Login ke Konsol Function Compute. Di panel navigasi kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Di daftar domain, temukan domain yang diinginkan dan klik Edit di kolom Actions.
Di halaman Edit Custom Domain Name, lihat konfigurasi nama domain akselerasi CDN yang disinkronkan dari Konsol CDN.

Setelah berhasil menambahkan nama domain akselerasi CDN, CDN menetapkan nama domain CNAME. Di halaman Manajemen Domain, dapatkan nama domain CNAME yang ditetapkan, lalu arahkan rekaman DNS nama domain yang dipercepat Anda ke nama domain CNAME tersebut untuk mengaktifkan akselerasi.
Untuk petunjuknya, lihat Konfigurasi CNAME.
CatatanFormat CNAME adalah
accelerated-domain-name.w.alikunlun.com. Misalnya,example.aliyundoc.com.w.alikunlun.com.
Langkah 5: Verifikasi nama domain kustom
Setelah mengonfigurasi nama domain kustom atau nama domain akselerasi CDN, uji menggunakan salah satu metode berikut.
Metode 1: Uji menggunakan command line
curl URL. Misalnya,curl example.com/login.Metode 2: Uji menggunakan browser.
Masukkan URL permintaan di bilah alamat browser dan tekan Enter untuk memverifikasi bahwa fungsi target dipanggil.
Informasi paket sandi
Paket sandi kuat dan lemah
Versi TLS dan paket sandi yang didukung
Pemetaan nama paket sandi RFC dan OpenSSL
Aturan pencocokan
Aturan pencocokan routing
Anda harus mengonfigurasi pemetaan antara path dan fungsi saat mengikat nama domain kustom. Dengan demikian, permintaan dari path berbeda dapat memicu fungsi berbeda. Function Compute mendukung pencocokan eksak dan pencocokan kabur, dengan aturan spesifik sebagai berikut:
Pencocokan eksak: Path permintaan harus persis sesuai dengan path yang dikonfigurasi untuk memicu fungsi yang sesuai.
Misalnya, jika Anda mengatur path ke /a, layanan ke s1, fungsi ke f1, dan versi ke 1, hanya permintaan ke /a yang memicu f1 versi 1. Permintaan ke /a/ tidak memicu f1 versi 1.
Pencocokan kabur: Gunakan karakter wildcard (*) dalam path. Karakter wildcard hanya dapat muncul di akhir path.
Misalnya, jika Anda mengatur path ke /login/*, layanan ke s2, fungsi ke f2, dan versi ke 1, permintaan dengan awalan /login/ (seperti /login/a atau /login/b/c/d) memicu f2 versi 1.
Jika Anda mengonfigurasi beberapa aturan routing untuk nama domain kustom, pencocokan eksak memiliki prioritas lebih tinggi daripada pencocokan kabur.
Pencocokan kabur menggunakan Pencocokan awalan terpanjang.
Misalnya, Anda mengonfigurasi /login/a/* dan /login/*. Nama domain kustom Anda adalah
example.com. Permintaan ke example.com/login/a/b cocok dengan kedua path tersebut. Namun, Pencocokan awalan terpanjang memilih /login/a/*.
Contoh
Asumsikan nama domain kustom Anda adalah example.com. Berdasarkan langkah-langkah dalam topik ini, Anda mengonfigurasi lima aturan routing berikut.
Aturan routing | Path | Nama layanan | Nama fungsi | Versi |
Aturan 1 | / | s1 | f1 | 1 |
Aturan 2 | /* | s2 | f2 | 2 |
Aturan 3 | /login | s3 | f3 | 3 |
Aturan 4 | /login/a | s4 | f4 | 4 |
Aturan 5 | /login/* | s5 | f5 | 5 |
Hasil pencocokan akhir adalah sebagai berikut.
URL permintaan | Nama layanan yang cocok | Nama fungsi yang cocok | Versi yang cocok | Path yang cocok |
example.com | s1 | f1 | 1 | / |
example.com/user | s2 | f2 | 2 | /* |
example.com/login | s3 | f3 | 3 | /login |
example.com/login/a | s4 | f4 | 4 | /login/a |
example.com/login/a/b | s5 | f5 | 5 | /login/* |
example.com/login/b | s5 | f5 | 5 | /login/* |
Aturan pencocokan nama domain
Function Compute mencocokkan nama domain dalam permintaan Anda dengan nama domain kustom yang sesuai dan meneruskan permintaan ke fungsi yang terkait dengan domain tersebut. Function Compute mendukung pencocokan eksak dan pencocokan kabur untuk nama domain, sebagai berikut.
Pencocokan eksak: Fungsi yang terkait dengan nama domain kustom hanya dipicu ketika nama domain yang diminta persis sesuai dengan nama domain kustom yang Anda buat.
Pencocokan kabur: Nama domain wildcard (juga dikenal sebagai domain wildcard) didukung. Fungsi yang terkait dengan nama domain kustom dipicu ketika nama domain yang diminta sesuai dengan pola wildcard yang Anda definisikan. Karakter wildcard (*) dapat muncul paling banyak satu kali dan harus ditempatkan di awal nama domain.
Jika permintaan cocok dengan nama domain tunggal dan nama domain wildcard, nama domain tunggal memiliki prioritas lebih tinggi.
Nama domain wildcard hanya mencocokkan domain pada level yang sama. Misalnya, nama domain
*.aliyun.commencocokkanfc.aliyun.comtetapi tidak mencocokkancn-hangzhou.fc.aliyun.com. Baik*.aliyun.commaupunfc.aliyun.comadalah nama domain tingkat tiga. Namun,cn-hangzhou.fc.aliyun.comadalah nama domain tingkat empat.
Contoh
Asumsikan Anda memiliki nama domain kustom fc.aliyun.com, *.aliyun.com, dan *.fc.aliyun.com. Tabel berikut menunjukkan nama domain mana yang dicocokkan oleh setiap permintaan.
Request domain name | 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 saya dapat menggunakan titik akhir jaringan publik dari pemicu HTTP di lingkungan produksi?
Saya telah mengonfigurasi nama domain kustom, tetapi selalu mendapatkan error HTTP 502 Bad Gateway. Bagaimana cara memperbaikinya?
Saya terus mendapatkan error saat mencoba menggunakan nama domain dalam bahasa Mandarin untuk nama domain kustom saya. Bagaimana cara memperbaikinya?
Bagaimana cara memperbaiki unduhan paksa saat pengguna mengakses nama domain saya di browser?
Nama domain yang dipercepat saya mengembalikan pengalihan HTTP 301. Bagaimana cara memperbaikinya?
Saya tidak dapat memilih layanan dan fungsi yang sudah ada di konfigurasi routing. Apa yang harus saya lakukan?
Permintaan ke path routing yang saya konfigurasi tidak memicu fungsi saya. Bagaimana cara memperbaikinya?
Pemecahan Masalah
Jika terjadi error saat Anda mengikat nama domain kustom, server mengembalikan pesan error. Tabel berikut mencantumkan kode error umum untuk membantu Anda mengidentifikasi 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 Anda tidak terdaftar, atau pendaftaran ICP Anda tidak mencantumkan Alibaba Cloud. Untuk informasi lebih lanjut, lihat Langkah 1: Daftarkan nama domain Anda untuk ICP. |
DomainNameNotResolved | 400 | domain name '%s' has not been resolved to your FC endpoint, the expected endpoint is '%s' | Nama domain Anda tidak mengarah ke titik akhir yang benar menggunakan rekaman CNAME. Periksa menggunakan perintah dig atau server resolusi nama domain Anda. |
DomainRouteNotFound | 404 | no route found in domain '%s' for path '%s' | Anda tidak mengonfigurasi fungsi untuk path yang ditentukan. |
TriggerNotFound | 404 | trigger 'http' does not exist in service '%s' and function '%s' | Fungsi yang dipicu oleh nama domain kustom Anda tidak memiliki pemicu HTTP yang dikonfigurasi. |
DomainNameNotFound | 404 | domain name '%s' does not exist | Nama domain tidak ditemukan saat mengambil informasi nama domain. |
DomainNameAlreadyExists | 409 | domain name '%s' already exists | Nama domain sudah ada saat membuatnya. |
Jika Anda masih tidak dapat menyelesaikan masalah tersebut, bergabunglah dengan grup pengguna DingTalk (nomor grup DingTalk: 64970014484) dan hubungi insinyur Function Compute untuk bantuan segera.