Kebijakan penulisan ulang memungkinkan Anda memodifikasi Uniform Resource Identifier (URI) dari sebuah permintaan. Anda dapat mengonfigurasi kebijakan ini untuk memodifikasi URI permintaan yang mengakses fungsi menggunakan nama domain kustom. Topik ini menjelaskan metode penulisan ulang nama domain kustom serta cara mengonfigurasi kebijakan penulisan ulang di konsol Function Compute.
Informasi latar belakang
Anda dapat menggunakan kebijakan penulisan ulang di Function Compute untuk memodifikasi parameter path dan query dalam URI.
Untuk memodifikasi URI permintaan yang mengakses fungsi menggunakan nama domain kustom, konfigurasikan kebijakan penulisan ulang untuk nama domain tersebut di konsol Function Compute.
Metode penulisan ulang
Function Compute memungkinkan Anda mengonfigurasi kebijakan penulisan ulang untuk nama domain kustom pada tingkat rute. Metode yang didukung meliputi penulisan ulang eksak, wildcard, dan regex.
Penulisan ulang eksak
Dalam metode penulisan ulang eksak, nilai parameter path dalam URI permintaan dapat diganti dengan string dari aturan penggantian hanya jika nilai parameter path secara persis cocok dengan string pada aturan pencocokan. Sebagai contoh, jika aturan pencocokan adalah /old dan aturan penggantian adalah /new, maka URI /old akan ditulis ulang menjadi /new dalam permintaan. Tabel berikut menyajikan contoh pencocokan menggunakan metode penulisan ulang eksak.
| Aturan pencocokan | Aturan penggantian | URI asli | URI setelah penulisan ulang |
/old | /new | /old | /new |
/test/old | Tidak cocok | ||
/serviceName.Qualifier | /serviceA | /serviceName.Qualifier | /serviceA |
Penulisan ulang wildcard
Metode ini menyediakan pendekatan pencocokan sederhana yang memenuhi sebagian besar kebutuhan bisnis.
Dalam metode ini, karakter bintang (*) digunakan sebagai wildcard untuk mencocokkan string dengan panjang apa pun dalam aturan pencocokan. Aturan penggantian merujuk pada string yang cocok berdasarkan lokasi wildcard. Contohnya, jika aturan pencocokan adalah /api/* dan aturan penggantian adalah /$1, URI /api/getFunctionName ditulis ulang menjadi /getFunctionName. Tabel berikut memberikan contoh pencocokan menggunakan metode ini.
*) atau caret (^).*: mencocokkan string dengan panjang apa pun.^: menentukan bahwa pencocokan dimulai dari awal string.
| Aturan pencocokan | Aturan penggantian | URI asli | URI setelah penulisan ulang |
/old | /new | /old | /new |
/test/old | /new | ||
^/old | /new | /old | /new |
/test/old | Tidak cocok | ||
/api/* | /$1 | /api/getFunctionName | /getFunctionName |
/api/getFunctionName&Version=1 | /getFunctionName&Version=1 | ||
/css/* | /public/static/css/$1 | /css/style.css | /public/static/css/style.css |
/ServiceName/*/FunctionName/*/Qualifier/* | /$1.$3/$2 | /ServiceName/svc-a/FunctionName/func-a/Qualifier/1 | /svc-a.1/func-a |
/f..c | /helloworld | /f..c | /helloworld |
/func | Tidak cocok |
Penulisan ulang regex
Dalam metode ini, aturan pencocokan dan penggantian menggunakan ekspresi reguler standar. Untuk informasi lebih lanjut tentang sintaks ekspresi reguler, lihat Sintaks Ekspresi Reguler RE2. Tabel berikut menjelaskan contoh pencocokan menggunakan metode ini.
| Aturan pencocokan | Aturan penggantian | URI asli | URI setelah penulisan ulang |
^/old/[a-z]+/ | /new | /old/ab/ | /new |
/test/a-b/ | Tidak cocok | ||
^/api/.+?/(.*) | /api/v2/$1 | /api/v1/test | /api/v2/test |
/api/v1-pre/test | /api/v2/test |
Urutan dan prioritas pencocokan
Jika beberapa metode digunakan dalam aturan routing, urutan pencocokan adalah sebagai berikut: penulisan ulang eksak, wildcard, dan regex.
Function Compute memungkinkan konfigurasi beberapa kebijakan penulisan ulang dalam aturan routing. Jika sebuah permintaan cocok dengan beberapa kebijakan menggunakan metode yang sama, pencocokan dilakukan berdasarkan urutan konfigurasi. Pencocokan berhenti saat permintaan pertama kali cocok dengan sebuah kebijakan.
var rule1 = &WildcardRules{
Match: "/api/v1/*",
Replacement: "/api/v2/$1",
}
var rule2 = &WildcardRules{
Match: "/api/*/*",
Replacement: "/api/v3/$2",
}- Jika kebijakan penulisan ulang adalah [rule1, rule2], URI
/api/v1/getFunctionNameditulis ulang menjadi/api/v2/getFunctionName. - Jika kebijakan penulisan ulang adalah [rule2, rule1], URI
/api/v1/getFunctionNameditulis ulang menjadi/api/v3/getFunctionName.
Prasyarat
Layanan dan fungsi telah dibuat. Untuk informasi lebih lanjut, lihat Buat Layanan dan Buat Fungsi.
Prosedur
Anda dapat mengonfigurasi kebijakan penulisan ulang saat membuat nama domain kustom atau menambahkannya ke nama domain kustom yang sudah ada.
Konfigurasikan kebijakan penulisan ulang saat Anda membuat nama domain kustom
Masuk 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, konfigurasikan parameter Domain Name dan klik Rewrite Policy di sebelah kanan parameter Route.
- Di panel Configure Rewrite Policy, klik + Add Rewrite Policy, pilih kebijakan dari daftar drop-down, lalu klik OK.

Tambahkan kebijakan penulisan ulang untuk nama domain kustom yang sudah ada
Masuk ke Konsol Function Compute. Di panel navigasi kiri, pilih .
Di halaman Custom Domains, temukan nama domain kustom yang diinginkan dan klik Modify di kolom Actions.
- Di panel Configure Rewrite Policy, klik + Add Rewrite Policy, pilih kebijakan dari daftar drop-down, lalu klik OK.
