All Products
Search
Document Center

Server Load Balancer:ALB配置域名和路径的转发规则

Last Updated:Mar 04, 2026

Topik ini menjelaskan cara mengonfigurasi aturan pengalihan untuk Pendengar Application Load Balancer (ALB) berdasarkan nama domain dan path, serta cara mengonfigurasi aturan pengalihan berbasis path tingkat lanjut untuk menulis ulang dan mengalihkan (redirect).

Aturan pengalihan berbasis nama domain

Anda dapat menentukan nama domain eksak, nama domain wildcard, atau ekspresi reguler sebagai kondisi pencocokan dalam aturan pengalihan berbasis nama domain. Untuk informasi selengkapnya, lihat Buat aturan pengalihan.

Catatan

ALB mencocokkan aturan pengalihan berdasarkan nomor prioritasnya. ALB tidak secara otomatis mengurutkan aturan berdasarkan spesifisitas nama domain. Jika suatu Pendengar memiliki aturan nama domain eksak dan aturan nama domain wildcard, Anda harus memberikan nomor prioritas yang lebih kecil pada aturan nama domain eksak agar aturan tersebut didahulukan dibandingkan aturan nama domain wildcard. Perilaku ini berbeda dari Classic Load Balancer (CLB), yang secara otomatis mengurutkan aturan berdasarkan urutan prioritas berikut: pencocokan eksak, wildcard sempit, dan wildcard luas.

Aturan Konfigurasi Nama Domain

Deskripsi

Pencocokan eksak dan pencocokan wildcard

  • Kondisi pencocokan

    • Pencocokan eksak: Nama domain yang diminta harus identik dengan nama domain yang ditentukan.

    • Pencocokan wildcard: Nama domain yang diminta harus sesuai dengan pola nama domain yang ditentukan, kecuali karakter wildcard.

  • Persyaratan

    Nama domain harus terdiri dari 3 hingga 128 karakter dan hanya boleh berisi huruf, angka, serta karakter khusus berikut: .-?=~_+\^*!$&|()[]. Anda dapat menggunakan tanda bintang (*) dan tanda tanya (?) sebagai karakter wildcard.

  • Contoh

    Nama domain yang diminta: www.example.com

    • Pencocokan eksak: Entri www.example.com merupakan pencocokan eksak.

    • Pencocokan wildcard: Permintaan cocok jika Anda menentukan *.example.com atau www.example.* dalam aturan pengalihan.

Pencocokan ekspresi reguler

  • Kondisi pencocokan

    Nama domain yang diminta harus sesuai dengan ekspresi reguler yang ditentukan.

  • Persyaratan

    Nama domain harus terdiri dari 3 hingga 128 karakter dan hanya boleh berisi huruf, angka, serta karakter khusus berikut: .-?=~_-+\^*!$&|()[].

  • Contoh

    Nama domain yang diminta: www.example.com

    Ekspresi reguler case-insensitive: Permintaan cocok jika Anda menentukan ^www.example.com$ dalam aturan pengalihan.

Aturan pengalihan berbasis path

Anda dapat menentukan path eksak, path wildcard, atau ekspresi reguler sebagai kondisi pencocokan dalam aturan pengalihan berbasis path. Untuk informasi selengkapnya, lihat Buat aturan pengalihan.

Aturan Konfigurasi Path

Deskripsi

Pencocokan eksak dan pencocokan wildcard

  • Kondisi pencocokan

    • Pencocokan eksak: Path yang diminta harus identik dengan path yang ditentukan.

    • Pencocokan wildcard: Path yang diminta harus sesuai dengan pola path yang ditentukan, kecuali karakter wildcard.

  • Persyaratan

    Path harus diawali dengan garis miring maju (/ ) dan hanya boleh berisi huruf, angka, serta karakter khusus berikut: $-_.+/&~@:. Anda dapat menggunakan tanda bintang (*) dan tanda tanya (?) sebagai karakter wildcard.

  • Contoh

    Path yang diminta: /example/text

    • Pencocokan eksak: Permintaan cocok jika Anda menentukan /example/text dalam aturan pengalihan.

    • Pencocokan wildcard: Permintaan cocok jika Anda menentukan /example/* dalam aturan pengalihan.

    Catatan

    Aturan pencocokan path ALB berbeda dari NGINX. ALB tidak mendukung longest prefix matching.

    Sebagai contoh, konfigurasi umum NGINX adalah location /abc. Lokasi tersebut dicocokkan menggunakan longest prefix match. Untuk melakukan longest prefix match, ALB menggunakan karakter wildcard. Anda dapat mengonfigurasi /abc/* (pencocokan eksak dan karakter wildcard) pada ALB untuk mencapai hasil yang sama.

Pencocokan ekspresi reguler

  • Kondisi pencocokan

    Path yang diminta harus sesuai dengan ekspresi reguler yang ditentukan.

  • Persyaratan

    Ekspresi reguler hanya boleh berisi huruf, angka, serta karakter khusus berikut: .-_/=?~^*$:()[]+|.

  • Contoh

    Path yang diminta: /sys/aaa/HOST

    • Ekspresi reguler case-sensitive: Permintaan cocok jika Anda menentukan ^/sys/(.*)/HOST$ dalam aturan pengalihan.

    • Ekspresi reguler case-insensitive: Permintaan cocok jika Anda menentukan ^/sys/(.*)/host$ dalam aturan pengalihan.

Pengaturan aturan pengalihan berbasis path tingkat lanjut untuk menulis ulang dan mengalihkan

Jika Anda mengonfigurasi kondisi pengalihan berbasis path yang menggunakan ekspresi reguler, Anda dapat menggunakan penggantian ekspresi reguler dalam path untuk aksi menulis ulang atau mengalihkan. Untuk informasi selengkapnya, lihat Buat aturan pengalihan.

Catatan

Untuk informasi selengkapnya tentang cara mengonfigurasi ekspresi reguler untuk kondisi pengalihan berbasis path, lihat Aturan pengalihan berbasis path.

  • Catatan penggunaan

    • Jumlah kelompok capture ( ) dalam ekspresi reguler pada kondisi pengalihan harus sesuai dengan jumlah variabel dalam path penulisan ulang atau pengalihan.

    • Path penulisan ulang atau pengalihan harus mencakup satu atau beberapa variabel berikut: ${1}, ${2}, atau ${3}. Variabel ini tidak dapat diganti dengan karakter lain.

  • Cara kerja penggantian

    1. Pencocokan path: Klien mengirim permintaan yang path-nya sesuai dengan ekspresi reguler dalam aturan pengalihan.

    2. Ekstraksi dan penggantian: ALB mengekstrak konten dari tiga kelompok capture pertama ( ) dalam ekspresi reguler dan menyimpan konten yang ditangkap sebagai variabel ${1}, ${2}, dan ${3}. Variabel ini kemudian digunakan dalam path penulisan ulang atau pengalihan.

    3. Konstruksi path: ALB mengganti variabel ${1}, ${2}, dan ${3} dalam path penulisan ulang atau pengalihan dengan nilai yang sesuai untuk membangun path akhir.

    No.

    Langkah

    Contoh

    1

    Konfigurasikan kondisi pengalihan dan aksi pengalihan dalam aturan pengalihan.

    • Path kondisi pengalihan: /sys/(.*)/(.*)/aaa

    • Path penulisan ulang atau pengalihan: /${1}/${2}

    2

    Permintaan klien sesuai dengan path dalam aturan pengalihan.

    • Path yang diminta: /sys/ccc/bbb/aaa

    • Path kondisi pengalihan yang cocok: /sys/(.*)/(.*)/aaa

    3

    Ekstraksi dan ganti

    ALB mengekstrak (.*) dari path kondisi pengalihan dan menyimpan ccc dan bbb dalam ${1} dan ${2} masing-masing.

    • Ganti ${1} dengan ccc.

    • Ganti ${2} dengan bbb.

    4

    Gabungkan path

    Path yang diterima oleh server backend adalah /ccc/bbb.

  • Contoh konfigurasi

    Anda dapat menambahkan aturan pengalihan di Konsol sesuai panduan dan prinsip penggantian yang ditentukan.

    Contoh 1: Aksi pengalihan: Rewrite dan Forward To

    Dalam contoh ini, permintaan untuk path /sys/ccc/bbb/aaa ditulis ulang menjadi /ccc/bbb lalu diteruskan. Gambar berikut menunjukkan contoh konfigurasi aturan pengalihan: Example 1

    Kategori

    Deskripsi

    If Match All Conditions

    Pencocokan ekspresi reguler

    • Kondisi pencocokan

      Path yang diminta sesuai dengan ekspresi reguler yang ditentukan.

    • Persyaratan

      Ekspresi reguler hanya boleh berisi huruf, angka, serta karakter khusus berikut: .-_/=?~^*$:()[]+|.

    • Contoh

      Path yang diminta: /sys/ccc/bbb/aaa

      • Ekspresi reguler case-sensitive: Permintaan cocok jika Anda menentukan /sys/(.*)/(.*)/aaa dalam aturan pengalihan.

      • Case-insensitive: Ekspresi reguler cocok dengan input /sys/(.*)/(.*)/aaa, dan path berhasil dicocokkan.

    Forwarding Action

    Rewrite

    • Domain Name: ${host}

    • Path: /${1}/${2}

    • Search: ${query}

    Catatan

    Query adalah bagian URL yang mengikuti tanda tanya.

    Contoh: URL-nya adalah www.example.com/test/test1?x=1, dan Query-nya adalah x=1.

    Forward

    Pada daftar kelompok server, pilih kelompok server yang ingin Anda kelola.

    Contoh 2: Konfigurasikan aksi Redirect

    Dalam contoh ini, aturan pengalihan mengarahkan permintaan untuk path /sys/ccc/bbb/aaa ke /ccc/bbb. Gambar berikut menunjukkan konfigurasi contoh.

    示例2

    Kategori

    Deskripsi

    If Match All Conditions

    Pencocokan ekspresi reguler

    • Kondisi pencocokan

      Path yang diminta sesuai dengan ekspresi reguler yang ditentukan.

    • Persyaratan

      Ekspresi reguler hanya boleh berisi huruf, angka, serta karakter khusus berikut: .-_/=?~^*$:()[]+|.

    • Contoh

      Path yang diminta: /sys/ccc/bbb/aaa

      • Ekspresi reguler case-sensitive: Permintaan cocok jika Anda menentukan /sys/(.*)/(.*)/aaa dalam aturan pengalihan.

      • Case-insensitive: Pencocokan ekspresi reguler terhadap input /sys/(.*)/(.*)/aaa berhasil mencocokkan path.

    Forwarding Action

    Redirect

    • Protocol: $protocol

    • Domain Name: ${host}

    • Port: ${port}

    • Path: /${1}/${2}

    • Search: ${query}

    • Status Code: 301

FAQ

Bagaimana cara menulis ulang hanya nama domain tanpa mengubah path?

Untuk menulis ulang nama domain yang diminta ke nama domain berbeda tetapi mempertahankan path dan string query asli, konfigurasikan aturan pengalihan sebagai berikut:

  • Kondisi pengalihan: Atur Domain Name ke domain asli, misalnya old.example.com.

  • Aksi pengalihan: Pilih Rewrite. Atur Domain Name ke domain baru, misalnya new.example.com. Atur Path ke ${path} untuk mempertahankan path asli. Atur Query ke ${query} untuk mempertahankan string query asli. Untuk pengaturan Forward, pilih server group target.

Bagaimana cara menambahkan awalan ke path?

Untuk menambahkan awalan seperti nomor versi ke path asli—misalnya, menulis ulang /users/list menjadi /v2/users/list—konfigurasikan aturan pengalihan sebagai berikut:

  • Kondisi pengalihan: Atur Path untuk menggunakan pencocokan ekspresi reguler dan masukkan ^/(.*).

  • Aksi pengalihan: Pilih Rewrite dan atur Path ke /v2/${1}. Untuk pengaturan Forward, pilih server group target.

Setelah Anda mengonfigurasi aturan tersebut, permintaan untuk /users/list akan ditulis ulang menjadi /v2/users/list sebelum diteruskan ke server backend.

Bagaimana cara mengonfigurasi aturan pengalihan di ALB untuk menghapus awalan path tertentu dan mendukung pencocokan path multi-level?

Untuk mengonfigurasi aturan pengalihan ALB yang menghapus awalan path tertentu dan mencocokkan semua subpath berikutnya, ikuti contoh berikut:

Contoh: Teruskan permintaan untuk www.example.com/api/aaa/bbb/..., hapus awalan /api, dan cocokkan semua subpath yang mengikuti /api.

Anda dapat menggunakan aksi Rewrite atau Redirect. Untuk kondisi path, gunakan ekspresi reguler ^/api/(.*) untuk mencocokkan semua path yang dimulai dengan /api. Kemudian, dalam aksi, atur path ke /${1} untuk menggunakan konten yang ditangkap dari path asli setelah /api. Berikut adalah contoh konfigurasi:

  • Rewrite

    image

  • Redirect

    image

Referensi

Untuk informasi selengkapnya tentang cara mengonfigurasi jenis aturan pengalihan lainnya untuk Pendengar ALB, lihat Konfigurasikan aturan pengalihan pendengar.