All Products
Search
Document Center

Alibaba Cloud Service Mesh:Menghubungkan ingress gateway ke instance WAF

Last Updated:Mar 20, 2026

Service Mesh (ASM) memungkinkan Anda menghubungkan ingress gateway ke instance Web Application Firewall (WAF). Anda dapat menyesuaikan bidang log akses untuk melihat header yang ditambahkan oleh instance WAF pada permintaan balik ke asal. Ini memudahkan pemeliharaan dan operasi daring. Topik ini menjelaskan cara menghubungkan ingress gateway ke instance WAF serta menyesuaikan bidang log akses untuk debugging.

Prasyarat

Pengenalan WAF

WAF menyediakan perlindungan keamanan ujung ke ujung untuk situs web atau aplikasi Anda. WAF mengidentifikasi dan menyaring lalu lintas web jahat, kemudian meneruskan lalu lintas normal ke server asal Anda. Ini melindungi server asal dari serangan dan memastikan keamanan data dan layanan.

Langkah 1: Menghubungkan ingress gateway ke instance WAF

Anda dapat menghubungkan ingress gateway ke instance WAF menggunakan instance Classic Load Balancer (CLB) Lapisan 4 atau CNAME berdasarkan kebutuhan bisnis Anda.

  • Instance CLB Lapisan 4: Metode ini direkomendasikan. Anda dapat menghubungkan instance CLB dari ingress gateway menggunakan metode ini. Instance CLB sebelumnya dikenal sebagai instance Server Load Balancer (SLB). Jika Anda menggunakan instance CLB Lapisan 4, semua lalu lintas dari ingress gateway langsung diarahkan ke instance WAF, dan aturan WAF dijalankan untuk semua permintaan yang mencapai instance CLB dari ingress gateway.

  • CNAME: Dalam metode ini, permintaan dari nama domain tertentu diarahkan ke instance WAF. Anda dapat menggunakan metode ini jika ingress gateway memiliki beberapa nama domain dan hanya beberapa nama domain yang memerlukan perlindungan WAF.

    Catatan

    Untuk menggunakan CNAME, Anda harus memodifikasi aturan resolusi DNS dari nama domain. Nama domain Anda harus ditunjuk ke instance WAF. Kemudian, instance WAF akan meneruskan permintaan ke ingress gateway.

Metode 1: Gunakan instance CLB Lapisan 4

  1. Masuk ke Web Application Firewall console. Klik Subscription atau Pay-As-You-Go sesuai kebutuhan bisnis Anda. Konfirmasi wilayah dan item konfigurasi lainnya, lalu klik Buy Now untuk membuat instance WAF 3.0. Jika Anda telah memiliki instance WAF, Anda dapat menggunakan instance yang ada.

  2. Di panel navigasi sisi kiri, klik Website Configuration. Pada halaman Website Configuration, klik tab Cloud Native dan pilih CLB(TCP). Di sebelah kanan, klik Add.

  3. Di panel Configure Instance- Layer 4 CLB Instance, temukan instance CLB yang terkait dengan gateway dan klik Add Port di kolom Tindakan. Pilih port yang digunakan pada ingress gateway. Setelah mengonfigurasi port, klik OK.

    Dalam contoh ini, HTTP port 80 dipilih. Jika Anda ingin menggunakan protokol HTTPS, Anda harus mengonfigurasi Sertifikat HTTPS.

    Catatan

    Anda dapat masuk ke ASM console dan melihat instance CLB dari ingress gateway di halaman detail gateway.

  4. Pilih Enable Traffic Mark. Tambahkan tiga header dan klik OK.

    Jika permintaan membawa header ini, permintaan tersebut dilindungi oleh WAF. Dalam contoh ini, tiga header berikut ditambahkan: Custom Header (customwaftag:customwaftagvalue), Originating IP Address (clientrealip), dan Source Port (clientrealport).

Metode 2: Gunakan CNAME

  1. Masuk ke Web Application Firewall console. Klik Subscription atau Pay-As-You-Go sesuai kebutuhan bisnis Anda. Konfirmasi wilayah dan item konfigurasi lainnya, lalu klik Buy Now untuk membuat instance WAF 3.0. Jika Anda telah memiliki instance WAF, Anda dapat menggunakan instance yang ada.

  2. Di panel navigasi sisi kiri, klik Website Configuration. Pada halaman Website Configuration, klik tab CNAME Record dan pilih Add.

  3. Di langkah Configure Listener, konfigurasikan parameter dan klik Next.

    Gambar berikut memberikan contoh konfigurasi.

    接入域名配置监听

  4. Di langkah Configure Forwarding Rule, atur parameter Load Balancing Algorithm menjadi IP hash, atur parameter Origin Server Address menjadi IP, lalu masukkan alamat IP publik dari ingress gateway. Pilih Enable Traffic Mark, tambahkan tiga header, pertahankan konfigurasi default parameter lainnya, lalu klik Submit.

    Tiga header ini kemudian ditambahkan ke permintaan yang dikirim ke ingress gateway melalui instance WAF. Dalam contoh ini, tiga header berikut ditambahkan: Custom Header (customwaftag:customwaftagvalue), Originating IP Address (clientrealip), dan Source Port (clientrealport).

    接入域名配置转发

  5. Di langkah Add Completed, klik Copy CNAME, catat CNAME yang disediakan oleh WAF, lalu klik Complete.

    Catatan

    Untuk menggunakan CNAME, Anda harus menunjuk rekaman DNS dari nama domain yang dikonfigurasi di sini ke CNAME yang disediakan oleh WAF.

Langkah 2: (Opsional) Menyesuaikan bidang log akses di konsol ASM

Permintaan yang diverifikasi oleh WAF mungkin membawa beberapa header khusus. Misalnya, header kustom, header yang menunjukkan alamat IP sumber, dan header yang menunjukkan port sumber ditambahkan ke permintaan di langkah Configure Forwarding Rule dalam Langkah 1. Jika lalu lintas aplikasi daring melewati instance WAF dan header ini tidak dibawa dalam log akses dari link, debugging link menjadi sulit. Dalam kasus ini, Anda dapat menggunakan kemampuan observabilitas ASM untuk menyesuaikan bidang log akses. Untuk informasi lebih lanjut, lihat Menyesuaikan log akses pada bidang data plane.

Langkah 3: Periksa apakah instance WAF terhubung

Metode 1: Gunakan instance CLB Lapisan 4

Gunakan instance CLB Lapisan 4 untuk terhubung ke instance WAF dan akses langsung alamat IP dari ingress gateway. Masukkan ${IP address of the ingress gateway}:80/status/418 di bilah alamat browser.

Output yang diharapkan:

-=[ teapot ]=-

       _...._
     .'  _ _ `.
    | ."` ^ `". _,
    \_;`"---"`|//
      |       ;/
      \_     _/
        `"""`

Metode 2: Gunakan CNAME

Gunakan CNAME yang disediakan oleh WAF dan jalankan perintah berikut untuk mengakses path /status/418 dari aplikasi HTTPBin:

curl -HHost:${Nama Domain yang dikonfigurasi pada WAF}  "http://${CNAME yang disediakan oleh WAF}/status/418" -v

Output yang diharapkan:

*   Trying x.x.x.x:80...
* Connected to geszcfxxxxxxxxxxxxxxxxxxxxppbeiz.aliyunwaf1.com (x.x.x.x) port 80 (#0)
> GET /status/418 HTTP/1.1
> Host:xxxx
> User-Agent: curl/7.84.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 418 Unknown
< Date: Wed, 22 Feb 2023 05:07:23 GMT
< Content-Length: 135
< Connection: keep-alive
< Set-Cookie: acw_tc=0bc1599a16770424432844282e82xxxxxxxxxxxxxxxxxxx1ad989e7e5245f;path=/;HttpOnly;Max-Age=1800
< server: istio-envoy
< x-more-info: http://tools.ietf.org/html/rfc2324
< access-control-allow-origin: *
< access-control-allow-credentials: true
< x-envoy-upstream-service-time: 1
<
-=[ teapot ]=-

       _...._
     .'  _ _ `.
    | ."` ^ `". _,
    \_;`"---"`|//
      |       ;/
      \_     _/
        `"""`
Catatan

Nama domain sebenarnya tidak digunakan dalam contoh ini. Jika Anda ingin menggunakan nama domain sebenarnya untuk akses, modifikasi aturan resolusi domain untuk mengganti CNAME yang disediakan oleh WAF dengan nama domain sebenarnya.

Langkah 4: Lihat nilai header yang ditambahkan oleh instance WAF di log gateway

  1. Masuk ke konsol ASM. Di panel navigasi sisi kiri, pilih Service Mesh > Mesh Management.

  2. Pada halaman Mesh Management, klik nama instance ASM. Di panel navigasi sisi kiri, pilih Observability Management Center > Log Center.

  3. Pada tab ASM Gateway Logs, masukkan 418 di kotak teks dan klik Search & Analyze.

    Nilai header yang ditambahkan oleh instance WAF dicetak di log.日志中心

Setelah menghubungkan ingress gateway ke instance WAF, Anda dapat masuk ke konsol WAF untuk mengonfigurasi kemampuan perlindungan tingkat lanjut lainnya guna melindungi situs web Anda dari serangan. Untuk memantau header kustom lainnya pada link, lakukan Langkah 2 untuk mengonfigurasi header.