Saya punya masalah dengan HAproxy.
Saya menggunakan HAproxy sebagai penyeimbang beban yang mendistribusikan permintaan http masuk ke 5 server web. biasanya permintaan klien diteruskan ke server web dengan IP loadbalancer. Tetapi saya membutuhkan IP klien atau IP nyata yang meminta sesuatu dari server web. Karena kita perlu mencatat IP klien yang sebenarnya.
Saya mencoba untuk mendapatkan IP klien di server web tetapi saya tidak dapat berhasil hingga sekarang. Selalu saya melihat IP load balancer.
Saya menggunakan opsi x-forward-for tetapi tidak menyelesaikan masalah. Setelah itu saya menemukan pilihan lain " sumber 0.0.0.0:80 usingrc clientip " tetapi saya mendapatkan eror ketika mencoba menjalankan HAproxy yang adalah tentang kompilasi kebutuhan dengan opsi USE_TPROXY dari HAproxy. Saya melakukannya, saya mengkompilasi ulang HAproxy dengan opsi USE_TPROXY tetapi tidak mengubah apa pun. apa yang bisa saya lakukan untuk mempelajari IP klien nyata.
Versi kernel linux saya adalah 2.6.32-34 Maksud saya kernel tersebut mendukung proxy transparan. dan saya menggunakan UBUNTU 10.4 LTS
file konfigurasi saya ada di sini
global
maxconn 100000
uid 99
gid 99
daemon
defaults
option forwardfor except 127.0.0.1
mode http
(1)source 0.0.0.0:80 interface hdr_ip(x-forwarded-for,-1)
(2)source 0.0.0.0:80 usesrc clientip
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen myWeb 0.0.0.0:80
mode http
balance source
option forwardfor header X-Client
option http-server-close
stats enable
stats refresh 10s
stats hide-version
stats scope .
stats uri /lb?stats
stats realm LB2\ Statistics
stats auth admin:xXx
server S1 192.168.1.117:80 check inter 2000 fall 3
server S2 192.168.1.116:80 check inter 2000 fall 3
server S3 192.168.1.118:80 check inter 2000 fall 3
(1) (2) Saat menguji HAproxy I menggunakan salah satu dari dua baris ini.
Apakah ada yang membantu saya mempelajari IP nyata dari klien yang diminta dari server kami?