Function Compute menyediakan URL akses default untuk fungsi HTTP yang telah dibuat. Namun, unduhan paksa akan terpicu saat URL diakses melalui browser. Jika Anda ingin mengakses fungsi tanpa memicu unduhan paksa atau menggunakan nama domain tetap, konfigurasikan nama domain kustom.
Skenario umum
Fungsi HTTP mirip dengan aplikasi web yang dapat memproses permintaan HTTP dan mengembalikan hasil kepada pemanggil. Dalam skenario berikut, Anda perlu mengikat nama domain kustom ke aplikasi web:
Anda membuat aplikasi web, memigrasikannya ke Function Compute, dan ingin mengaksesnya menggunakan nama domain tetap.
Anda membangun aplikasi web di Function Compute console dan ingin menggunakan URL default yang disediakan oleh Function Compute. URL default mengikuti format berikut:
<account_id>.<region_id>.fc.aliyuncs.com/<version>/proxy/<serviceName>/<functionName>/[action?queries]. Namun, unduhan paksa terpicu saat Anda mengakses aplikasi melalui URL ini. Untuk menghindari hal tersebut, ubah URL aplikasi tanpa memengaruhi pengguna.
Prasyarat
Fungsi HTTP harus sudah dibuat. Untuk informasi lebih lanjut, lihat Buat Fungsi. Permintaan dari nama domain kustom hanya dapat memicu fungsi HTTP.
Batasan
Nama domain yang mengandung karakter Cina tidak didukung.
Nama domain kustom bersifat peka huruf besar-kecil. Gunakan nama domain sebenarnya yang mendapatkan pengarsipan ICP dari Penyedia Konten Internet (ICP).
Anda dapat mengonfigurasi nama domain wildcard dan nama domain standar.
Prosedur
Proses konfigurasi nama domain kustom
Langkah 1: Dapatkan pengarsipan ICP
Dapatkan pengarsipan ICP untuk nama domain berdasarkan penyedia layanan dan akun tempat nama domain tersebut berasal. Lihat panduan operasi terkait untuk menyelesaikan prosesnya.
Pengarsipan ICP tidak diperlukan untuk nama domain kustom yang terikat pada fungsi di Tiongkok (Hong Kong) atau wilayah di luar daratan Tiongkok.
Periksa penyedia layanan nama domain di WHOIS.
Periksa apakah nama domain milik akun Alibaba Cloud saat ini di Konsol DNS Alibaba Cloud.
Nama domain yang terdaftar oleh akun Alibaba Cloud saat ini
Ajukan pengarsipan ICP untuk nama domain kustom di Sistem Pengarsipan ICP Alibaba Cloud. Untuk informasi lebih lanjut, lihat Proses Pengarsipan ICP.
Nama domain yang terdaftar oleh akun Alibaba Cloud lainnya
Kami merekomendasikan Anda menggunakan akun Alibaba Cloud yang digunakan untuk mendaftarkan nama domain untuk mendapatkan pengarsipan ICP. Masuk ke Sistem Pengarsipan ICP Alibaba Cloud untuk mengajukan pengarsipan ICP. Untuk informasi lebih lanjut, lihat Proses Pengarsipan ICP.
Nama domain yang terdaftar oleh akun non-Alibaba Cloud
Jika entitas dan nama domain diajukan melalui penyedia layanan lain, dan Anda perlu mengubah penyedia layanan menjadi Alibaba Cloud atau menambahkan Alibaba Cloud sebagai penyedia layanan baru untuk situs web, ajukan pengarsipan ICP di Alibaba Cloud. Masuk ke Sistem Pengarsipan ICP Alibaba Cloud untuk mengajukan pengarsipan ICP.
Langkah 2: Konfigurasikan resolusi nama domain
Untuk informasi lebih lanjut, lihat Memulai Cepat.
Selesaikan nama domain ke titik akhir Function Compute di wilayah yang sesuai. Artinya, konfigurasikan CNAME dari nama domain kustom ke titik akhir Function Compute. Di halaman DNS, atur Record Type ke CNAME dan Record Value ke titik akhir Function Compute.
Tabel berikut menjelaskan format titik akhir Function Compute.
Format Titik Akhir | Format | Contoh | |
Titik Akhir Publik |
| Domain Kustom: example.com. Akun Alibaba Cloud: 164901546557****. Wilayah: Tiongkok (Shanghai). | Titik Akhir Publik: |
Titik Akhir Internal |
| Titik Akhir Internal: | |
Jika Anda ingin mengakses nama domain melalui Internet, atur Record Value ke titik akhir publik Function Compute.
Langkah 3: Tambahkan nama domain kustom
Masuk ke Konsol Function Compute. Di panel navigasi sisi kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Di halaman Custom Domains, klik Add Custom Domain Name.
Di halaman Add Custom Domain Name, konfigurasikan parameter dan klik Create. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Domain Name
Masukkan nama domain kustom yang telah mendapatkan pengarsipan ICP di Sistem Pengarsipan ICP Alibaba Cloud atau nama domain kustom yang informasi pengarsipan ICP-nya mencakup Alibaba Cloud sebagai penyedia layanan. Anda dapat memasukkan nama domain tertentu seperti
www.aliyun.comatau nama domain wildcard seperti*.aliyun.com.HTTPS
Pilih Aktifkan atau Nonaktifkan untuk mengizinkan atau melarang akses ke nama domain kustom melalui HTTPS. Nilai valid:
Enable: mengizinkan akses ke nama domain kustom melalui HTTPS. Jika Anda memilih Aktifkan, Anda dapat mengakses nama domain kustom melalui HTTP atau HTTPS.
CatatanAnda juga dapat memilih kotak centang Redirects HTTP Requests to HTTPS untuk hanya mengizinkan permintaan HTTPS. Function Compute mengarahkan ulang permintaan yang diakses melalui HTTP ke HTTPS.
Disable: melarang akses ke nama domain kustom melalui HTTPS. Jika Anda memilih Nonaktifkan, Anda hanya dapat mengakses nama domain kustom melalui HTTP.
Certificate Type
Pilih jenis sertifikat yang ingin Anda unggah. Parameter ini diperlukan hanya jika Anda memilih Aktifkan untuk parameter HTTPS. Nilai valid:
Alibaba Cloud SSL Certificate: Pilih sertifikat Secure Sockets Layer (SSL) Alibaba Cloud dari daftar drop-down Nama Sertifikat. Jika tidak ada nilai yang tersedia di daftar drop-down Certificate Name, Anda tidak memiliki sertifikat SSL Alibaba Cloud. Dalam hal ini, masuk ke Konsol Manajemen Sertifikat untuk membeli sertifikat SSL.
Manual Upload: Secara manual konfigurasikan parameter Certificate Name, PEM Certificate Content, dan PEM Certificate Key.
CatatanSertifikat yang ingin Anda unggah tidak boleh melebihi 20 KB ukuran. Kunci sertifikat tidak boleh melebihi 4 KB ukuran.
TLS Version
Pilih versi protokol keamanan transport layer (TLS) yang digunakan oleh fungsi dari daftar drop-down.
CatatanSetelah Anda memilih versi TLS, Anda juga dapat memilih Enable Support for TLS1.3. Dengan cara ini, TLS 1.3 didukung.
Cipher Suite
Pilih suite algoritma sandi TLS. Jika Anda biarkan parameter ini kosong, semua suite sandi dipilih. Nilai valid:
All Cipher Suites (High Compatibility and Low Security): Semua suite sandi. Untuk daftar suite sandi yang didukung oleh Function Compute, lihat Suite sandi kuat dan lemah.
Custom Cipher Suite (Select Based on Protocol Version. Proceed with Caution): Pilih suite sandi berdasarkan kebutuhan bisnis Anda. Semua suite sandi ditampilkan dalam daftar drop-down. Anda dapat mengklik ikon
di sebelah kanan suite sandi untuk membatalkan pilihan suite sandi. Dengan cara ini, Anda dapat menghapus suite sandi lemah dan hanya menyimpan suite sandi yang didukung oleh versi TLS yang Anda tentukan.
PentingPilih suite sandi kustom dengan hati-hati. Pastikan suite sandi yang digunakan oleh klien cocok dengan suite sandi yang digunakan oleh server.
Untuk informasi lebih lanjut tentang pemetaan antara versi TLS dan suite sandi yang didukung, lihat Pemetaan antara versi TLS dan suite sandi.
Function Compute memberi nama suite sandi berdasarkan konvensi penamaan RFC. Nama suite sandi bervariasi berdasarkan konvensi penamaan. Untuk informasi lebih lanjut tentang perbedaan antara suite sandi RFC dan OpenSSL, lihat Pemetaan antara nama suite sandi RFC dan OpenSSL.
CDN Acceleration
Tentukan apakah akan mengaktifkan akselerasi CDN untuk nama domain kustom. Jika Anda mengaktifkan akselerasi CDN untuk nama domain kustom, pengguna akhir dapat menggunakan nama domain akselerasi CDN untuk membaca konten dengan efisiensi tinggi. Nilai valid:
Enable: mengaktifkan akselerasi CDN. Jika Anda mengatur parameter Akselerasi CDN ke Aktifkan, Anda harus memasukkan nama domain akselerasi di bidang CDN-Accelerated Domain Name. Kemudian, masuk ke Konsol CDN dan konfigurasikan rekaman CNAME untuk nama domain akselerasi. Untuk informasi lebih lanjut, lihat (Opsional) Langkah 4: Aktifkan akselerasi CDN.
Disable: Menonaktifkan akselerasi CDN.
Web Application Firewall (WAF)
Tentukan apakah akan mengaktifkan WAF untuk nama domain kustom. Fitur ini mengidentifikasi lalu lintas jahat dalam fungsi dan aplikasi, membersihkan dan menyaring lalu lintas jahat, dan mengembalikan lalu lintas normal ke fungsi backend untuk melindungi fungsi Anda dari intrusi jahat. Untuk informasi lebih lanjut, lihat Aktifkan perlindungan WAF. Nilai valid:
Enable
Disable
Route
Konfigurasikan pemetaan antara jalur dan fungsi. Dengan cara ini, permintaan dari jalur berbeda dapat memicu fungsi berbeda. Anda harus mengonfigurasi bidang berikut:
Path: Jalur permintaan yang memicu fungsi tertentu dalam layanan tertentu.
Service Name: nama layanan tempat fungsi yang dipicu oleh permintaan dari jalur tertentu termasuk.
Function Name: nama fungsi yang dipicu oleh permintaan dari jalur tertentu.
Version or Alias: versi atau alias layanan tempat fungsi yang dipicu oleh permintaan dari jalur tertentu termasuk.
Rewrite Policy: aturan berdasarkan mana Uniform Resource Identifier (URI) permintaan di jalur tertentu ditulis ulang. Untuk informasi lebih lanjut, lihat Prosedur.
Anda dapat mengonfigurasi beberapa rute berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Aturan routing.
Setelah mengonfigurasi nama domain kustom, Anda dapat memodifikasi atau menghapusnya sesuai kebutuhan bisnis.
PentingHati-hati saat menghapus nama domain kustom karena semua permintaan yang menggunakan nama domain untuk mengakses Function Compute akan gagal.
(Opsional) Langkah 4: Aktifkan akselerasi CDN
Setelah mengikat nama domain kustom ke aplikasi web, Anda dapat menggunakan nama domain kustom sebagai domain asal dan menambahkan nama domain akselerasi. Kemudian, konfigurasikan CNAME untuk nama domain akselerasi. Dengan cara ini, akselerasi CDN diaktifkan untuk nama domain kustom. Aplikasi yang diterapkan di Function Compute berfungsi sebagai server asal, dan konten sumber dipublikasikan ke node tepi. Ini secara efisien mengurangi latensi dan meningkatkan kualitas layanan.
Setelah menambahkan nama domain akselerasi, periksa apakah akselerasi CDN diaktifkan untuk nama domain kustom Anda di Konsol Function Compute dan apakah nama domain akselerasi tertentu yang ditambahkan di Konsol CDN terikat ke nama domain kustom Anda.
Jika Anda mengaktifkan fitur akselerasi CDN, Anda akan dikenakan biaya untuk data yang ditransfer melalui Internet. Untuk informasi lebih lanjut, lihat Ikhtisar Penagihan.
Nama domain kustom dan nama domain akselerasi tidak boleh sama. Misalnya, jika Anda mengatur nama domain kustom menjadi www.test.com, atur nama domain akselerasi menjadi domain lain, seperti cdn.test.com.
Masuk ke Konsol CDN dan aktifkan akselerasi CDN.
Untuk informasi lebih lanjut, lihat Tambahkan Nama Domain.
Saat mengonfigurasi parameter Origin Info, pilih Function Compute Domain. Kemudian, pilih wilayah tempat layanan Function Compute yang ingin Anda kelola berada dan nama domain kustom yang telah Anda buat.
Masuk ke Konsol Function Compute. Di panel navigasi sisi kiri, pilih .
Di bilah navigasi atas, pilih wilayah. Dalam daftar nama domain, temukan nama domain yang diinginkan dan klik Edit di kolom Actions.
Di halaman Modifikasi Nama Domain Kustom, lihat konfigurasi nama domain akselerasi CDN yang disinkronkan dari Konsol CDN.

Setelah nama domain CDN ditambahkan ke nama domain kustom, CDN memberikan CNAME ke nama domain kustom. Dapatkan rekaman CNAME di halaman Nama Domain Kustom dan petakan resolusi DNS nama domain akselerasi ke rekaman CNAME.
Untuk informasi lebih lanjut, lihat Tambahkan Rekaman CNAME untuk Nama Domain.
CatatanCNAME berada dalam format berikut:
Nama domain akselerasi.w.alikunlun.com, misalnya,example.aliyundoc.com.w.alikunlun.com.
Langkah 5: Verifikasi nama domain kustom
Setelah menambahkan nama domain kustom atau nama domain akselerasi CDN, gunakan salah satu metode berikut untuk memeriksa apakah nama domain dapat diakses:
Metode 1: Jalankan perintah
curl URL, misalnya,curl example.com/login.Metode 2: Gunakan browser.
Masukkan URL permintaan di bilah alamat browser dan tekan tombol Enter untuk memeriksa apakah fungsi yang ditentukan dipanggil.
Suite sandi
Suite sandi kuat dan lemah
Pemetaan antara versi TLS dan suite sandi
Pemetaan antara nama suite sandi RFC dan nama suite sandi OpenSSL
Aturan Pencocokan
Aturan Pencocokan Rute
Anda harus mengonfigurasi pemetaan antara jalur dan fungsi saat mengikat nama domain kustom. Dengan cara ini, permintaan dari jalur berbeda dapat memicu fungsi berbeda. Function Compute mendukung pencocokan tepat dan pencocokan kabur untuk jalur. Item berikut menjelaskan aturan pencocokan:
Pencocokan tepat: Fungsi hanya dipicu jika jalur permintaan persis sama dengan jalur yang ditentukan.
Sebagai contoh, Anda membuat rute dengan jalur /a, fungsi yang sesuai adalah Fungsi 1, dan versi yang sesuai adalah Versi 1. Dalam hal ini, hanya permintaan dari jalur /a yang dapat memicu Fungsi 1 dari Versi 1.
Pencocokan kabur: Anda dapat menambahkan tanda bintang (*) sebagai wildcard ke jalur.
Sebagai contoh, Anda membuat rute dengan jalur /login/*, fungsi yang sesuai adalah Fungsi 2, dan versi yang sesuai adalah Versi 1. Permintaan dari jalur yang dimulai dengan /login/, seperti /login/a dan /login/b/c/d, dapat memicu Fungsi 2 dari Versi 1.
Jika beberapa rute dikonfigurasikan untuk nama domain kustom, pencocokan tepat memiliki prioritas lebih tinggi daripada pencocokan kabur.
Aturan kecocokan awalan terpanjang (LPM) berlaku saat pencocokan kabur dilakukan.
Sebagai contoh, jalur /login/a/* dan /login/* dikonfigurasikan untuk nama domain kustom
example.com, dan URL permintaan adalah example.com/login/a/b. Dalam hal ini, URL permintaan cocok dengan jalur yang dikonfigurasikan. Namun, jalur /login/a/* digunakan berdasarkan aturan LPM.
Contoh
Nama domain kustom adalah example.com. Tabel berikut menjelaskan lima aturan routing yang dikonfigurasikan berdasarkan langkah-langkah yang dijelaskan dalam topik ini.
Aturan Routing | Jalur | Nama Layanan | Nama Fungsi | Versi |
Aturan Routing 1 | / | s1 | f1 | 1 |
Aturan Routing 2 | /* | s2 | f2 | 2 |
Aturan Routing 3 | /login | s3 | f3 | 3 |
Aturan Routing 4 | /login/a | s4 | f4 | 4 |
Aturan Routing 5 | /login/* | s5 | f5 | 5 |
Tabel berikut menjelaskan kecocokan akhir.
URL Permintaan | Nama Layanan yang Cocok | Nama Fungsi yang Cocok | Versi yang Cocok | Jalur 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 berdasarkan informasi nama domain dalam permintaan Anda dan meneruskan permintaan ke fungsi yang sesuai dengan nama domain yang cocok. Function Compute mendukung pencocokan tepat dan pencocokan kabur untuk nama domain. Item berikut menjelaskan aturan pencocokan:
Pencocokan tepat: Fungsi yang sesuai dengan nama domain hanya dapat dipicu jika nama domain permintaan persis cocok dengan nama domain kustom yang Anda buat.
Pencocokan kabur: Nama domain wildcard didukung. Fungsi dapat dipicu jika nama domain permintaan cocok dengan nama domain kustom yang Anda buat berdasarkan wildcard. Maksimal satu karakter wildcard (*) dapat terkandung dalam nama domain, dan karakter wildcard harus ditempatkan di awal nama domain.
Jika permintaan cocok dengan nama domain tunggal dan nama domain wildcard pada saat yang sama, permintaan akan diteruskan ke fungsi yang sesuai dengan nama domain tunggal.
Untuk pencocokan kabur, nama domain wildcard hanya dapat cocok dengan nama domain pada level yang sama. Sebagai contoh,
*.aliyun.comdapat cocok denganfc.aliyun.com, tetapi tidak dengancn-hangzhou.fc.aliyun.com. Hasil pencocokan sampel menunjukkan bahwa*.aliyun.comdanfc.aliyun.comadalah domain tingkat ketiga dancn-hangzhou.fc.aliyun.comadalah domain tingkat empat.
Contoh
Tabel berikut menunjukkan nama domain yang cocok dari nama domain yang ada berikut ini: fc.aliyun.com, *.aliyun.com, dan *.fc.aliyun.com.
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 | Tidak Ada |
Tanya Jawab Umum
Bisakah titik akhir publik pemicu HTTP digunakan dalam lingkungan produksi?
Apa yang harus saya lakukan jika terjadi kesalahan 502 Bad Gateway saat saya mengakses nama domain kustom?
Apa yang harus saya lakukan jika terjadi kesalahan saat saya menggunakan nama domain yang mengandung karakter Cina untuk mengonfigurasi nama domain kustom?
Bagaimana cara menyelesaikan masalah unduhan paksa saat saya mengakses nama domain melalui browser?
Apa yang harus saya lakukan jika terjadi pengalihan 301 saat saya mengakses nama domain akselerasi?
Apa yang dapat saya lakukan jika saya tidak dapat memilih layanan atau fungsi yang telah saya buat saat mengonfigurasi rute?
Apa yang harus saya lakukan jika fungsi tidak dapat dipicu menggunakan rute?
Diagnosis
Jika terjadi kesalahan saat mengikat nama domain kustom, server mengembalikan pesan kesalahan. Tabel berikut menjelaskan kode kesalahan umum untuk membantu Anda dengan cepat menyelesaikan masalah.
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 | Pesan kesalahan yang dikembalikan karena nama domain tidak memiliki pengarsipan ICP atau informasi dalam pengarsipan ICP tidak mencakup Alibaba Cloud sebagai penyedia layanan. Untuk informasi lebih lanjut, lihat Langkah 1: Dapatkan pengarsipan ICP. |
DomainNameNotResolved | 400 | domain name '%s' has not been resolved to your FC endpoint, the expected endpoint is '%s' | Pesan kesalahan yang dikembalikan karena tidak ada CNAME yang dikonfigurasikan untuk nama domain untuk menunjuk ke titik akhir tertentu. Anda dapat memeriksa pengaturan CNAME dengan menjalankan perintah dig atau masuk ke server Sistem Nama Domain (DNS). |
DomainRouteNotFound | 404 | no route found in domain '%s' for path '%s' | Pesan kesalahan yang dikembalikan karena tidak ada fungsi yang dikonfigurasikan untuk jalur tertentu. |
TriggerNotFound | 404 | trigger 'http' does not exist in service '%s' and function '%s' | Pesan kesalahan yang dikembalikan karena tidak ada pemicu HTTP yang dikonfigurasikan untuk fungsi yang terikat ke nama domain kustom. |
DomainNameNotFound | 404 | domain name '%s' does not exist | Pesan kesalahan yang dikembalikan karena nama domain yang ingin Anda periksa tidak ada. |
DomainNameAlreadyExists | 409 | domain name '%s' already exists | Pesan kesalahan yang dikembalikan karena nama domain yang ingin Anda ikat sudah ada. |
Jika masalah Anda berlanjut, bergabunglah dengan grup DingTalk 11721331 untuk dukungan teknis.