Dengan mengonfigurasi kebijakan penulisan ulang HTTP, Anda dapat memodifikasi path dan hostname permintaan sebelum meneruskannya ke layanan backend. Hal ini memungkinkan Anda memenuhi kebutuhan bisnis dan arsitektur tertentu. Kebijakan penulisan ulang memberikan kontrol yang tepat atas path dan hostname permintaan serta memastikan permintaan tersebut diarahkan dengan benar ke layanan atau titik akhir yang sesuai.
Mengonfigurasi kebijakan penulisan ulang HTTP
Kebijakan penulisan ulang HTTP terutama digunakan untuk memodifikasi path dan hostname dalam permintaan asli.
API Gateway Cloud-native menyediakan dua metode untuk mengonfigurasi kebijakan penulisan ulang HTTP: di luar instans dan di dalam instans:
API di luar instans
Masuk ke Konsol API Gateway Cloud-native. Di panel navigasi sebelah kiri, pilih API, lalu pilih Wilayah di bilah menu atas.
Klik API target. Anda dapat memilih instans tempat Anda ingin mengonfigurasi kebijakan penulisan ulang HTTP dari daftar tarik-turun atau memilih All Instances.

Pilih entri rute target dari Route List.
API di dalam instans
Masuk ke Konsol API Gateway Cloud-native. Di panel navigasi sebelah kiri, pilih Instances, lalu pilih Wilayah di bilah menu atas.
Pada halaman Instances, klik ID instans gerbang target. Di panel navigasi sebelah kiri, pilih API, kemudian klik API target.
Pilih entri rute target dari Route List.
Klik tab Policy Configuration, lalu klik Enable Policy/plugin di bagian Inbound Processing.
Klik kartu HTTP Rewrite, konfigurasi parameter di panel Add Policy: HTTP Rewrite, lalu klik Add.
Penulisan ulang path
Untuk penulisan ulang path, API Gateway cloud-native mendukung dua mode penulisan ulang: penulisan ulang eksak dan penulisan ulang regex.
Penulisan ulang awalan
Mengubah awalan path dalam permintaan.
Contoh 1
Path dalam permintaan asli adalah /app/test, sedangkan path yang diteruskan ke layanan backend adalah /test. Kami menyarankan Anda mengonfigurasi kebijakan berikut:
Kondisi pencocokan entri rute: Jenis pencocokan adalah Prefix Match, dan path-nya adalah
/app/.Penulisan ulang: Jenis penulisan ulang adalah Prefix Rewrite, dan path-nya adalah
/.
Path dalam kondisi pencocokan entri rute harus diatur ke /app/ karena penulisan ulang awalan hanya memodifikasi string yang dicocokkan berdasarkan awalan. Jika path dalam kondisi pencocokan entri rute diatur ke /app, path hasil penulisan ulang akan menjadi //test, yang bukan hasil yang diharapkan.
Contoh 2
Path dalam permintaan asli adalah /v1/test, sedangkan path yang diteruskan ke layanan backend adalah /v2/test. Kami menyarankan Anda mengonfigurasi kebijakan berikut:
Kondisi pencocokan entri rute: Jenis pencocokan adalah Prefix Match, dan path-nya adalah
/v1.Penulisan ulang: Jenis penulisan ulang adalah Prefix Rewrite, dan path-nya adalah
/v2.
Jika Anda ingin jenis penulisan ulang dalam kebijakan penulisan ulang diatur sebagai Prefix Rewrite, jenis pencocokan entri rute harus diatur sebagai Prefix Match. Jenis pencocokan entri rute tidak boleh diatur sebagai Exact Match atau RegEx Match. Jika jenis pencocokan entri rute diatur sebagai Prefix Match, semua permintaan dengan path yang mengandung awalan yang ditentukan akan dicocokkan dan ditulis ulang. Sebelum mengatur jenis penulisan ulang kebijakan penulisan ulang menjadi Prefix Rewrite, pastikan bahwa semua permintaan perlu ditulis ulang. Jika tidak, kami menyarankan Anda mengatur jenis penulisan ulang menjadi Exact Rewrite.
Penulisan ulang regex
Memodifikasi sebagian path dalam permintaan. Konfigurasi penulisan ulang regex terdiri dari bidang mode dan penggantian. Nilai bidang mode digunakan untuk mencocokkan bagian tertentu yang ingin Anda modifikasi dalam path asli, sedangkan nilai bidang penggantian digunakan untuk menggantikan bagian yang dicocokkan. Untuk informasi mengenai sintaks ekspresi reguler, lihat Sintaks ekspresi reguler.
Contoh 1
Path dalam permintaan asli adalah /aaa/one/bbb/one/ccc, sedangkan path yang diteruskan ke layanan backend adalah /aaa/two/bbb/two/ccc. Kami menyarankan Anda mengonfigurasi kebijakan berikut:
Kondisi pencocokan entri rute: Jenis pencocokan adalah Exact Match, dan path-nya adalah
/aaa/one/bbb/one/ccc.Penulisan ulang: Jenis penulisan ulang adalah Regex Rewrite, mode-nya adalah
one, dan penggantinya adalahtwo.
Contoh 2
Path dalam permintaan asli adalah /httpbin/(.*)/(.*). Anda ingin menghapus awalan /httpbin dan menukar posisi kedua bagian ekspresi reguler tersebut. Kami menyarankan Anda mengonfigurasi kebijakan berikut:
Kondisi pencocokan entri rute: Jenis pencocokan adalah Regex Match, dan path-nya adalah
/httpbin/(.*)/(.*).Penulisan ulang: Jenis penulisan ulang adalah Regex Rewrite, mode-nya adalah
/httpbin/(.*)/(.*), dan penggantinya adalah/\2/\1.\1merepresentasikan string pertama yang dicocokkan oleh ekspresi reguler, sedangkan\2merepresentasikan string kedua yang dicocokkan oleh ekspresi reguler. Penggunaan ini setara dengan $1 dan $2 di Nginx.
Metode penulisan ulang regex lebih kompleks dibandingkan metode penulisan ulang awalan dan penulisan ulang eksak. Kami menyarankan Anda menggunakan metode penulisan ulang eksak daripada metode penulisan ulang regex jika memungkinkan.
Penulisan ulang hostname
API Gateway cloud-native memungkinkan Anda memodifikasi hostname dalam permintaan dengan menggunakan metode penulisan ulang eksak.
Sebagai contoh, hostname dalam permintaan asli adalah test.com, sedangkan hostname yang diteruskan ke layanan backend adalah dev.com. Dalam kebijakan penulisan ulang, atur hostname penulisan ulang menjadi dev.com.