[MEGOLDVA] Haproxy 1.6.4 unknown keyword 'tcp-ut'

Sziasztok!

Lenne egy kis problémám a haproxy indításával:

make TARGET=linux2628 CPU=x86_64 USE_OPENSSL=1 -> haproxy -f /etc/haproxy/haproxy.cfg után a következő a probléma CentOS 7 alatt (Debian alatt fut):

[ALERT] 111/080858 (24327) : parsing [/etc/haproxy/haproxy.cfg:50] : 'bind 0.0.0.0:80' unknown keyword 'tcp-ut'. Registered keywords :
[ SSL] alpn
[ SSL] ca-file
[ SSL] ca-ignore-err
[ SSL] ca-sign-file
[ SSL] ca-sign-pass
[ SSL] ciphers
[ SSL] crl-file
[ SSL] crt
[ SSL] crt-ignore-err
[ SSL] crt-list
[ SSL] ecdhe
[ SSL] force-sslv3
[ SSL] force-tlsv10
[ SSL] force-tlsv11
[ SSL] force-tlsv12
[ SSL] generate-certificates
[ SSL] no-sslv3
[ SSL] no-tlsv10
[ SSL] no-tlsv11
[ SSL] no-tlsv12
[ SSL] no-tls-tickets
[ SSL] ssl
[ SSL] strict-sni
[ SSL] tls-ticket-keys
[ SSL] verify
[ SSL] npn
[ TCP] defer-accept
[ TCP] interface
[ TCP] mss
[ TCP] transparent
[ TCP] v4v6
[ TCP] v6only
[STAT] level
[UNIX] gid
[UNIX] group
[UNIX] mode
[UNIX] uid
[UNIX] user
[ ALL] accept-proxy
[ ALL] backlog
[ ALL] id
[ ALL] maxconn
[ ALL] name
[ ALL] nice
[ ALL] process
[ALERT] 111/080858 (24327) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 111/080858 (24327) : Fatal errors found in configuration.

Előre is köszi!

Hozzászólások

igaz en RPM csomagot keszitek belole, de nekem ezekkel a kapcsolokkal jol megy:
%build
%{__make} USE_ZLIB=1 USE_PCRE=1 USE_OPENSSL=1 USE_LIBCRYPT=1 DEBUG="" ARCH=%{_target_cpu} TARGET=linux26

ez nekem ugy tunik, mintha nem tudna minden interfacen figyelni. mi van h ha fix IP-t adsz meg?
lehet h IPv6 is ott van a rendszeren de az meg nincs benne a HAproxy-ban.
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

a targézában a README nem említi hogy pontosan mi is kell? anno hasonló szitum volt mysql fordításkor és ahhoz az ncurses oldotta meg a gondot.

van egy ilyen a README-ben

To link OpenSSL statically against haproxy, build OpenSSL with the no-shared
keyword and install it to a local directory, so your system is not affected :

$ export STATICLIBSSL=/tmp/staticlibssl
$ ./config --prefix=$STATICLIBSSL no-shared
$ make && make install_sw

--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

a targézában a README nem említi hogy pontosan mi is kell? anno hasonló szitum volt mysql fordításkor és ahhoz az ncurses oldotta meg a gondot.

van egy ilyen a README-ben

To link OpenSSL statically against haproxy, build OpenSSL with the no-shared
keyword and install it to a local directory, so your system is not affected :

$ export STATICLIBSSL=/tmp/staticlibssl
$ ./config --prefix=$STATICLIBSSL no-shared
$ make && make install_sw

--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/

Fent volt amúgy a "kernel-headers" csomag a fordításkor?
Esetleg ezt tudnád futtatni ellenőrzésképpen?

# grep -r -e TCP_USER_TIMEOUT /usr/include/
/usr/include/linux/tcp.h:#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */

Csak mert a tcp-ut keyword akkor elérhető ha definiált a TCP_USER_TIMEOUT makró...

Helló!

Igen kernel-headers fent van és volt fordításkor is :)

grep -r -e TCP_USER_TIMEOUT /usr/include/ pedig ugyan az a kimenetem mint neked. Tehát definiálva van, ami elég furcsa. Mi történik ha nem használom a tcp-ut delay témát? csak mert értelemszerűen ha kommentelem ezt a részt akkor tökéletesen elindul a sztori.

EliteBook 8540p
Fedora 21
Startup finished in 2.637s (kernel) + 875ms (initrd) + 1.777s (userspace) = 5.290s

N00b kérdés: a haproxy futtató felhasználónak van joga *:80-on szerverportot nyitni..? Pl. nc-vel működ..?

Aztat mondi a stuff induláskor, hogy:
[ALERT] 111/080858 (24327) : parsing [/etc/haproxy/haproxy.cfg:50] : 'bind 0.0.0.0:80' unknown keyword 'tcp-ut'. Registered keywords : ...
Vagyis nem érti, mi az a tcp-ut paraméter. Ez vagy elírás (de esetünkben nem, doksi szerint is van ilyen paramétere a haproxynak), vagy ez az opció nem került befordításra. Én ez utóbbira gyanakodnék.

Egyszerű, megnéztem az Ubuntumon (ott megy ez a keyword) és ott


kedz@kedz-i7s850:~$ grep -r -e TCP_USER_TIMEOUT /usr/include/
/usr/include/linux/tcp.h:#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */
/usr/include/netinet/tcp.h:#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */
kedz@kedz-i7s850:~$

Szóval a centos-os/rhel-es netinet/tcp.h nem adja ezt a TCP_USER_TIMEOUT makrót, tehát ott nem támogatott ez valamiért...
(a forráskód pedig a netinet/tcp.h-t nézi jól, mivel a doksik a linux/tcp.h-t
nem ajánlják userspace alkalmazásoknak használni..)

Szóval a tcp-ut keyword szimplán nem támogatott a rendszereden.