¿Por qué recibo errores en mi configuración de cambio de contenido de HAProxy?

¿Por qué recibo errores en mi configuración de cambio de contenido de HAProxy?

Estoy migrando parte de la infraestructura de varios servidores que alojan sitios específicos a una arquitectura de equilibrio de carga usandoHAProxy1.3.15.7 en OpenBSD 4.6 macppc. Naturalmente, estoy empezando a configurar el cambio de contenido para la configuración actual (sitios específicos en servidores específicos) y mi /etc/haproxy/haproxy.cfg es el siguiente:

global
    log 127.0.0.1   local0
    log 127.0.0.1   local1 notice
    #log loghost    local0 info
    maxconn 1024
    chroot /var/haproxy
    uid 604
    gid 604
    daemon
    #debug
    #quiet
    pidfile /var/run/haproxy.pid

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    option  redispatch
    retries 3
    maxconn 2000
    contimeout      5000
    clitimeout      50000
    srvtimeout      50000
    stats enable
    stats auth user:pass

frontend http_proxy *:80
    # check to see which domain the reguest is for
    acl host_tld.domain.sub1 hdr_end(host) sub1.domain.tld
    acl host_tld.domain.sub2 hdr_end(host) sub2.domain.tld
    # send to the correct server
    use_backend server2 if host_tld.domain.sub1 or host_tld.domain.sub2
    default_backend server1

backend server1
    server httpd_server1 192.168.1.3:80

backend server2
    server httpd_server2 192.168.1.4:80

El objetivo es que todos los dominios sean atendidos server1excepto los dominios sub1.domain.tld& sub2.domain.tldque deberían ser distribuidos en server2su lugar. Sin embargo, cuando intento iniciar HAProxy, aparece los siguientes errores:

parsing /etc/haproxy/haproxy.cfg : backend 'server2' has no dispatch address and is not in transparent or balance mode.
parsing /etc/haproxy/haproxy.cfg : backend 'server1' has no dispatch address and is not in transparent or balance mode.
Errors found in configuration file, aborting.
Error reading configuration file : /etc/haproxy/haproxy.cfg

He mirado los ejemplos enumerados enla documentación de HAProxy 1.3yhttp://upstre.am/2008/01/09/using-haproxy-with-multiple-backends-aka-content-switching/, pero no veo dónde me he equivocado. Ninguno de los ejemplos parece requerir option transparentni un modo de equilibrio. Además, curiosamente la documentación para la dispatchopción se omite en la documentación 1.3, pero dudo que sea útil para solucionar problemas de todos modos.

¿Dónde me he equivocado?

Respuesta1

Olvidó la línea "equilibrio por turnos" (o equivalente), ya que necesita tener un algoritmo de equilibrio en un backend. Además, está cambiando de contenido, así que agregue la "opción httpclose" en su interfaz o en la sección predeterminada; de lo contrario, las segundas solicitudes de conexiones de mantenimiento de conexión no coincidirán.

información relacionada