
Compilé la versión Haproxy LTS 2.2 desde la fuente con este comando:
make TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_CRYPT_H=1 USE_LIBCRYPT=1
No hubo ningún error durante la compilación. Esta es mi configuración de Haproxy:
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
frontend http-in
bind 192.168.123.40:80
acl gerrit hdr(host) -i gerrit.example.local
acl jenkins hdr(host) -i jenkins.example.local
use_backend gerrit if gerrit
use_backend jenkins if jenkins
backend gerrit
server gerrit 127.0.0.1:8080
backend jenkins
server jenkins 127.0.0.1:8081
Cuando reviso la configuración con haproxy -c -q -V -f /etc/haproxy/haproxy.cfg
el comando, aparece el siguiente error:
[NOTICE] 226/130914 (35193) : haproxy version is 2.2.2
[NOTICE] 226/130914 (35193) : path to executable is /usr/sbin/haproxy
[ALERT] 226/130914 (35193) : parsing [/etc/haproxy/haproxy.cfg:33] : unknown keyword 'bind 192.168.123.40:80' in 'frontend' section
[ALERT] 226/130914 (35193) : Error(s) found in configuration file : /etc/haproxy/haproxy.cfg
[ALERT] 226/130914 (35193) : Fatal errors found in configuration.
Revisé la documentación y está permitido usar bind
palabras clave en la sección frontal.
http://cbonte.github.io/haproxy-dconv/2.2/configuration.html#bind (referencia de palabras clave ordenadas alfabéticamente)
Se logra más locura cuando comento bind
la palabra clave en la sección frontal. Entonces el error dice:
[WARNING] 226/132456 (36642) : config : frontend 'http-in' has no 'bind' directive. Please declare it as a backend if this was intended.
Respuesta1
Parece que usaste algún otro carácter de espacio en blanco que parece un espacio, pero que en realidad no es el carácter de espacio normal, entre bind
y 192.168.123.40:80
. Intente escribir el texto nuevamente, pero esta vez use un espacio normal (U+0020, ASCII 32).