Setelah Anda menambahkan layanan ke Anti-DDoS Proxy, proxy tersebut meneruskan seluruh lalu lintas ke server origin Anda. Server origin dapat memperoleh alamat IP asal klien dengan mengurai header X-Forwarded-For atau menginstal modul TOA.
Untuk layanan non-situs web (Lapisan 4)
Untuk beberapa layanan non-situs web, Anda dapat menginstal modul TOA pada server origin untuk memperoleh alamat IP asal. Petunjuknya tersedia di Memperoleh alamat IP asal permintaan dengan menginstal modul TOA. Jika Anda tidak dapat menginstal modul TOA di lingkungan Anda, hubungi dukungan teknis.
Instans Anti-DDoS Proxy IPv4
Anti-DDoS Proxy menggunakan bidang TCP Option untuk mentransmisikan alamat IP asal. Setelah proxy dan server origin menyelesaikan handshake tiga arah, paket ACK terakhir berisi opsi TCP sepanjang 8 byte dengan Tipe 254. Opsi ini mencakup nomor port sumber dan alamat IP sumber. Gambar berikut menunjukkan lokasi informasi tersebut.
Nomor port: Bidang
Magic Numbermerepresentasikan nomor port dalam format heksadesimal. Misalnya, nilai c4 06 dikonversi menjadi nomor port desimal 50182.Alamat IP sumber: Empat byte berturut-turut setelah nomor port berisi alamat IP sumber dalam format heksadesimal. Misalnya,
65 ** ** 85dikonversi menjadi alamat IP desimal101.***.***.133.
Instans Anti-DDoS Proxy IPv6
v6tov4 mode
Dalam mode v6tov4—di mana proxy menggunakan alamat IPv6 dan server origin menggunakan alamat IPv4—proxy memanfaatkan bidang TCP Option. Setelah handshake tiga arah, paket ACK terakhir berisi opsi TCP sepanjang 40 byte dengan Tipe 249 yang mencakup port sumber, IP sumber, dan alamat IP Anti-DDoS Proxy. Gambar berikut menunjukkan lokasi informasi tersebut.

Nomor port: Dalam
Payload, dua byte pertama merepresentasikan nomor port dalam format heksadesimal. Misalnya,9d7ddikonversi menjadi nilai desimal 40317.Alamat IP sumber: Enam belas byte berturut-turut setelah nomor port berisi alamat IPv6 sumber dalam format heksadesimal. Misalnya,
2401*****0f87sesuai dengan alamat IP2401:b180:100*:*:*:f87:5d96:f87.CatatanDalam
Payload, selain nomor port dan alamat IP sumber, dua puluh byte sisanya berisi informasi IP Anti-DDoS.
Mode v6tov6
Dalam mode v6tov6—di mana baik proxy maupun server origin menggunakan alamat IPv6—proxy memanfaatkan bidang TCP Option. Setelah handshake tiga arah, paket ACK terakhir berisi opsi TCP sepanjang 20 byte dengan Tipe 253 yang mencakup port sumber dan alamat IP sumber. Gambar berikut menunjukkan lokasi informasi tersebut.

Nomor port: Bidang
Experiment Identifiermenentukan nomor port dalam format heksadesimal. Misalnya, nilai heksadesimal eb98 sesuai dengan nomor port desimal 60312.Alamat IP sumber: Bidang
Datamerepresentasikan alamat IP sumber sebagai string heksadesimal yang secara langsung sesuai dengan alamat IPv6. Misalnya, nilai 2401*****0f87 berarti alamat IP sumber adalah 2401:b180:100*:*:*:f87:5d96:f87.
Untuk mencegah lalu lintas kembali-ke-asal dari Anti-DDoS Proxy diblokir, Anda harus menambahkan blok CIDR kembali-ke-asal Anti-DDoS Proxy ke daftar putih pada server origin. Untuk menemukan blok CIDR kembali-ke-asal, lihat Izinkan blok CIDR kembali-ke-asal mengakses server origin.
Jika arsitektur jaringan Anda adalah Anti-DDoS Proxy → ECS, tambahkan blok CIDR kembali-ke-asal Anti-DDoS Proxy ke grup keamanan instans ECS. Untuk informasi lebih lanjut, lihat Menambahkan aturan grup keamanan.
Jika arsitektur jaringan Anda adalah Anti-DDoS Proxy → SLB → ECS, tambahkan blok CIDR kembali-ke-asal Anti-DDoS Proxy ke daftar putih kontrol akses instans SLB. Untuk informasi lebih lanjut, lihat Mengaktifkan kontrol akses.
Untuk layanan situs web (Lapisan 7)
Metode 1: Gunakan header X-Forwarded-For
Cara kerja
Ketika server proxy Lapisan 7, seperti Anti-DDoS Proxy, meneruskan permintaan ke server origin, server origin menganggap permintaan tersebut berasal dari alamat IP proxy. Header HTTP
X-Forwarded-Formencatat alamat IP asal aktual klien. Formatnya adalah:X-Forwarded-For: <alamat_IP_asal>.Jika permintaan melewati satu atau beberapa server proxy (seperti WAF atau CDN) sebelum mencapai server origin, header HTTP
X-Forwarded-Formencatat IP klien asli dan alamat IP semua server proxy yang dilewati. Formatnya adalahX-Forwarded-For: real-client-IP, proxy-server-1-IP, proxy-server-2-IP, proxy-server-3-IP, .... Saat node proxy meneruskan permintaan ke server origin, node tersebut menambahkan alamat node sebelumnya ke headerX-Forwarded-Fortetapi tidak menambahkan alamat IP-nya sendiri.
Metode pengambilan
Potongan kode berikut menunjukkan cara mengambil nilai header X-Forwarded-For dalam berbagai bahasa pemrograman:
Setelah mengambil nilai header
X-Forwarded-For, ambil alamat IP pertama dalam daftar yang dipisahkan koma. Alamat IP ini merupakan alamat IP asal klien.Anda juga dapat mengonfigurasi server web Anda (seperti Nginx, IIS 6, IIS 7, Apache, atau Tomcat) untuk mengurai header
X-Forwarded-Forguna memperoleh alamat IP asal. Untuk informasi lebih lanjut, lihat Memperoleh alamat IP asal klien.
ASP
Request.ServerVariables("HTTP_X_FORWARDED_FOR")ASP.NET (C#)
Request.ServerVariables["HTTP_X_FORWARDED_FOR"]PHP
$_SERVER["HTTP_X_FORWARDED_FOR"]JSP
request.getHeader("HTTP_X_FORWARDED_FOR")
Metode 2: Gunakan header HTTP kustom
Ikhtisar
Dalam arsitektur jaringan yang kompleks, mengandalkan header standar X-Forwarded-For (XFF) dapat menimbulkan risiko seperti pemalsuan header, kebingungan alamat IP akibat beberapa lapisan proxy, serta logika penguraian yang rumit. Untuk meningkatkan keamanan dan kontrol, Anda dapat menggunakan header HTTP kustom untuk mentransmisikan alamat IP asal klien.
Prosedur
Anda dapat mengonfigurasi Anti-DDoS Proxy untuk menulis alamat IP klien ke header HTTP kustom. Untuk informasi lebih lanjut, lihat Mengonfigurasi pengaturan kembali ke asal.
Masuk ke halaman Website Config di Konsol Anti-DDoS Proxy.
Di halaman Website Config, klik Add Website.
Di halaman Website Config, pada bagian Forwarding Settings, atur Traffic Marking ke Custom Header (misalnya,
Custom-True-IP).Dalam kode aplikasi Anda, ambil nilai header kustom tersebut, misalnya:
request.getHeader("Custom-True-IP").