Hello, I patched the debian stunnel4 package for squeeze
# aptitude install devscripts build-essential fakeroot # apt-get build-dep stunnel4 # apt-get source stunnel4 # wget http://haproxy.1wt.eu/download/patches/stunnel-4.29-xforwarded-for.diff # cd stunnel4-4.29/ # patch -p1 -i ../stunnel-4.29-xforwarded-for.diff # debuild -us -uc # dpkg -i ../stunnel4_4.29-1_amd64.deb change my conf /etc/stunnel/stunnel.conf as : [...] [https] accept = 192.168.134.222:443 connect = 192.168.134.222:4430 TIMEOUTclose = 0 xforwardedfor = yes change my conf /etc/haproxy/haproxy.conf as : listen sslsite bind 192.168.134.222:4430 balance roundrobin cookie SRV insert indirect nocache capture request header X-Forwarded-For len 256 rspirep ^Location:\ http://(.*) Location:\ https://\1 server vexft04 192.168.16.55:80 cookie ahD2Fiel check inter 5000 fall 3 server vexft05 192.168.16.50:80 cookie ifaop7Ge check inter 5000 fall 3 server vexft06 192.168.128.52:80 cookie aina1oRo check inter 5000 fall 3 server vexft07 192.168.128.53:80 cookie ohQuai5g check inter 5000 fall 3 But X-Forwarded-For header is inconstantly set in logs as : Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.218] sslsite sslsite/vexft04 0/0/0/250/250 200 3865 - - --NI 1/1/0/1/0 0/0 {10.147.28.20} "GET /admin/AdmInscriptionPro.shtml HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.468] sslsite sslsite/vexft04 31/0/1/1/33 200 471 - - --VN 1/1/0/1/0 0/0 {} "GET /css/admin/master.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.502] sslsite sslsite/vexft04 173/0/0/5/178 200 2018 - - --VN 1/1/0/1/0 0/0 {} "GET /css/lightwindow.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.680] sslsite sslsite/vexft04 56/0/1/1/58 200 573 - - --VN 1/1/0/1/0 0/0 {} "GET /css/sIFR-screen.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.739] sslsite sslsite/vexft04 64/0/1/1/66 200 722 - - --VN 1/1/0/1/0 0/0 {} "GET /css/niftyCorners.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.805] sslsite sslsite/vexft04 3/0/1/11/16 200 28961 - - --VN 1/1/0/1/0 0/0 {} "GET /script/aculous/prototype.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43922[05/Aug/2011:11:23:54.832] sslsite sslsite/vexft04 0/0/0/1/1 200 2071 - - --VN 4/4/3/4/0 0/0 {10.147.28.20} "GET /script/espace-pro.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:54.831] sslsite sslsite/vexft04 0/0/0/2/2 200 1811 - - --VN 4/4/2/3/0 0/0 {10.147.28.20} "GET /script/niftyCorners.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43924[05/Aug/2011:11:23:54.832] sslsite sslsite/vexft04 0/0/0/2/2 200 739 - - --VN 6/6/3/4/0 0/0 {10.147.28.20} "GET /script/niftyDeclare.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43928[05/Aug/2011:11:23:54.834] sslsite sslsite/vexft04 0/0/0/1/1 200 604 - - --VN 6/6/2/3/0 0/0 {10.147.28.20} "GET /script/admin/menu_admin.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.821] sslsite sslsite/vexft04 7/0/0/7/14 200 13798 - - --VN 6/6/2/3/0 0/0 {} "GET /script/aculous/lightwindow.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43926[05/Aug/2011:11:23:54.833] sslsite sslsite/vexft04 0/0/0/3/3 200 2640 - - --VN 6/6/1/2/0 0/0 {10.147.28.20} "GET /script/espace-admin.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43922[05/Aug/2011:11:23:54.833] sslsite sslsite/vexft04 2/0/0/1/3 200 945 - - --VN 6/6/2/3/0 0/0 {} "GET /script/recherche/SearchLightWindow.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43924[05/Aug/2011:11:23:54.835] sslsite sslsite/vexft04 2/0/1/1/4 200 810 - - --VN 6/6/2/3/0 0/0 {} "GET /css/admin/typo.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43928[05/Aug/2011:11:23:54.835] sslsite sslsite/vexft04 2/0/0/1/3 200 1138 - - --VN 6/6/2/3/0 0/0 {} "GET /css/admin/lists.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:54.833] sslsite sslsite/vexft04 3/0/1/1/5 200 1617 - - --VN 6/6/2/3/0 0/0 {} "GET /css/admin/layout.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43926[05/Aug/2011:11:23:54.837] sslsite sslsite/vexft04 2/0/0/1/3 200 2914 - - --VN 6/6/2/3/0 0/0 {} "GET /css/admin/navbar.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43922[05/Aug/2011:11:23:54.837] sslsite sslsiteo/vexft04 2/0/0/1/3 200 1726 - - --VN 6/6/1/2/0 0/0 {} "GET /css/admin/forms.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43924[05/Aug/2011:11:23:54.839] sslsite sslsite/vexft04 2/0/0/1/3 200 669 - - --VN 6/6/3/4/0 0/0 {} "GET /css/niftyDeclare.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43889[05/Aug/2011:11:23:54.836] sslsite sslsite/vexft04 4/0/1/1/6 200 1740 - - --VN 6/6/3/4/0 0/0 {} "GET /css/admin/ventre_general.css HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43928[05/Aug/2011:11:23:54.839] sslsite sslsite/vexft04 2/0/1/1/4 200 1662 - - --VN 6/6/2/3/0 0/0 {} "GET /script/aculous/scriptaculous.js?load=effects HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43922[05/Aug/2011:11:23:54.841] sslsite sslsite/vexft04 1/0/0/1/2 200 767 - - --VN 6/6/1/2/0 0/0 {} "GET /script/sifr-config.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:54.839] sslsite sslsite/vexft04 2/0/0/4/7 200 10291 - - --VN 6/6/0/1/0 0/0 {} "GET /script/sifr.js HTTP/1.1" Aug 5 11:23:54 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:54.847] sslsite sslsite/vexft04 107/0/1/3/112 200 9179 - - --VN 6/6/0/1/0 0/0 {} "GET /script/aculous/effects.js HTTP/1.1" Aug 5 11:23:55 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:54.959] sslsite sslsite/vexft04 325/0/0/2/328 200 16587 - - --VN 6/6/0/1/0 0/0 {} "GET /swf/futura.swf HTTP/1.1" Aug 5 11:23:55 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:55.286] sslsite sslsite/vexft04 568/0/0/1/569 200 774 - - --VN 6/6/0/1/0 0/0 {} "GET /css/sIFR-print.css HTTP/1.1" Aug 5 11:23:55 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:55.856] sslsite sslsite/vexft04 23/0/0/1/24 200 330 - - --VN 6/6/0/1/0 0/0 {} "GET /css/niftyPrint.css HTTP/1.1" Aug 5 11:23:56 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:55.881] sslsite sslsite/vexft04 167/0/1/0/168 200 1392 - - --VN 6/6/0/1/0 0/0 {} "GET /favicon.ico HTTP/1.1" Aug 5 11:24:00 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:23:56.049] sslsite sslsite/vexft04 4550/0/1/1/4552 403 439 - - --VN 6/6/0/1/0 0/0 {} "GET /admin/ HTTP/1.1" Aug 5 11:24:02 haproxy[8423]: 192.168.134.222:43920[05/Aug/2011:11:24:00.601] sslsite sslsite/vexft04 1753/0/1/11/1765 200 3800 - - --VN 6/6/0/1/0 0/0 {} "GET /admin/AdmInscriptionPro.shtml HTTP/1.1" (the apache log on vexft04 confirmed : some time there is 2 IP in the X-Forwarded-For, most of the time there is only 192.168.134.222 the IP of haproxy) Got no error for patch only some warning in compilation/building : "dpkg-shlibdeps: warning: dependency on libdl.so.2 could be avoided if "debian/stunnel4/usr/bin/stunnel4 debian/stunnel4/usr/lib/stunnel/libstunnel.so" were not uselessly linked against it (they use none of its symbols)." What is done wrong ? Thank you. Best regards, -- Damien

