Kebijakan penulisan ulang memungkinkan Anda memodifikasi Uniform Resource Identifier (URI) permintaan. Anda dapat mengonfigurasi kebijakan penulisan ulang untuk memodifikasi URI permintaan yang dikirim ke fungsi Anda melalui nama domain kustom. Topik ini menjelaskan pola penulisan ulang dan cara mengonfigurasi kebijakan penulisan ulang untuk nama domain kustom di Konsol Function Compute.
Informasi latar belakang
Di Function Compute, kebijakan penulisan ulang hanya dapat memodifikasi path dan query dari URI. Anda tidak dapat memodifikasi scheme, host, port, atau fragment.
Di Function Compute, Anda dapat mengonfigurasi kebijakan penulisan ulang untuk nama domain kustom guna menulis ulang URI permintaan ke suatu fungsi.
Pola Penulisan Ulang
Nama domain kustom mendukung penulisan ulang tingkat rute. Function Compute menyediakan tiga pola penulisan ulang: penulisan ulang eksak, penulisan ulang wildcard, dan penulisan ulang ekspresi reguler.
Penulisan Ulang Eksak
Dalam penulisan ulang eksak, jika path permintaan secara persis cocok dengan aturan pencocokan, maka path tersebut akan diganti dengan string dalam aturan penggantian. Misalnya, jika aturan pencocokan adalah /old dan aturan penggantian adalah /new, permintaan untuk /old akan ditulis ulang menjadi /new. Tabel berikut memberikan contoh tambahan.
Aturan pencocokan | Aturan Penggantian | URI Asli | URI yang Ditulis Ulang |
|
|
|
|
| Tidak Cocok | ||
|
|
|
|
Penulisan Ulang Wildcard
Pola penulisan ulang wildcard merupakan metode pencocokan sederhana yang sesuai untuk sebagian besar skenario.
Penulisan ulang wildcard menggunakan tanda bintang (*) untuk mencocokkan string apa pun. Anda dapat mereferensikan string yang cocok dalam aturan penggantian berdasarkan urutan kemunculan tanda bintang tersebut. Misalnya, jika aturan pencocokan adalah /api/* dan aturan penggantian adalah /$1, permintaan untuk /api/getFunctionName akan ditulis ulang menjadi /getFunctionName. Tabel berikut memberikan contoh tambahan.
Dalam pola penulisan ulang wildcard, karakter tanda bintang (*) dan tanda sisipan (^) memiliki makna khusus. Karakter lain diperlakukan sebagai string literal.
*: mencocokkan string apa pun.^: mencocokkan awal string.
Aturan pencocokan | Aturan Penggantian | URI Asli | URI yang Ditulis Ulang |
|
|
|
|
|
| ||
|
|
|
|
| Tidak Cocok | ||
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
| Tidak Cocok |
Penulisan Ulang Regex
Dalam pola penulisan ulang ekspresi reguler, aturan pencocokan dan aturan penggantian mengikuti sintaks ekspresi reguler standar. Untuk informasi lebih lanjut tentang sintaks tersebut, lihat Sintaks ekspresi reguler. Tabel berikut memberikan contoh pencocokan penulisan ulang ekspresi reguler.
Penulisan ulang ekspresi reguler merupakan fitur lanjutan dengan sintaks kompleks untuk skenario khusus. Untuk sebagian besar kasus, gunakan pola penulisan ulang wildcard.
Aturan pencocokan | Aturan Penggantian | URI Asli | URI yang Ditulis Ulang |
|
|
|
|
| Tidak Cocok | ||
|
|
|
|
|
|
Urutan dan Prioritas Pencocokan
Prioritas pola-pola tersebut, dari tertinggi ke terendah, adalah: Penulisan ulang eksak → Penulisan ulang wildcard → Penulisan ulang ekspresi reguler.
Function Compute memungkinkan Anda mengonfigurasi beberapa kebijakan penulisan ulang untuk satu aturan routing. Oleh karena itu, sebuah permintaan mungkin cocok dengan beberapa kebijakan penulisan ulang. Jika sebuah permintaan cocok dengan beberapa kebijakan dari pola penulisan ulang yang sama, Function Compute mencocokkan permintaan tersebut terhadap kebijakan-kebijakan tersebut sesuai urutan konfigurasinya. Kebijakan pertama yang cocok dengan permintaan akan digunakan untuk penggantian, dan kebijakan lainnya tidak akan dicocokkan lagi.
Sebagai contoh, pertimbangkan kebijakan penulisan ulang wildcard berikut.
var rule1 = &WildcardRules{
Match: "/api/v1/*",
Replacement: "/api/v2/$1",
}
var rule2 = &WildcardRules{
Match: "/api/*/*",
Replacement: "/api/v3/$2",
}Jika kebijakan penulisan ulang dikonfigurasi dalam urutan [rule1, rule2], permintaan untuk
/api/v1/getFunctionNameakan ditulis ulang menjadi/api/v2/getFunctionName.Jika kebijakan penulisan ulang dikonfigurasi dalam urutan [rule2, rule1], permintaan untuk
/api/v1/getFunctionNameakan ditulis ulang menjadi/api/v3/getFunctionName.
Prasyarat
Prosedur
Anda dapat mengonfigurasi kebijakan penulisan ulang saat membuat nama domain kustom atau untuk nama domain kustom yang sudah ada.
Konfigurasi kebijakan penulisan ulang saat membuat nama domain kustom
Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, pilih .
Di bilah menu atas, pilih Wilayah. Pada halaman Domain Management, klik Add Custom Domain Name.
Pada halaman Add Custom Domain Name, masukkan Domain Name. Di bagian Routing Configuration, klik Configure di bawah Rewrite Policy.
Di panel Configure Rewrite Policy, klik +Add Rewrite Policy, konfigurasi kebijakan tersebut, lalu klik OK.

Konfigurasi kebijakan penulisan ulang untuk nama domain kustom yang sudah ada
Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, pilih .
Di bilah menu atas, pilih Wilayah. Di daftar nama domain, temukan nama domain target dan klik Edit di kolom Actions.
Pada halaman edit nama domain kustom, di bagian Routing Configuration, klik Configure di bawah Rewrite Policy.
Di panel Configure Rewrite Policy, klik +Add Rewrite Policy, konfigurasi kebijakan tersebut, lalu klik OK.