Tengo una configuración con dos servidores backend. Necesito redirigir 301 a cada servidor con una URL interna en HTTP. Es difícil usar SSL porque no puedo instalar SSL en el servidor de informes en esa configuración. Además, no puedo usar el dominio virtual y la IP compartida para redirigir el tráfico porque hay algún problema interno con el Visor de informes al visualizar los informes. Sólo necesito redirigir el tráfico al servidor backend, preferiblemente con una URL interna, pero la IP también estará bien.
Por el momento sé cómo hacerlo en un host específico pero no en el servidor actual.
Configuración: Configuración activa/pasiva para el backend.
HA-Proxy versión 2.0.29-0ubuntu1
Ubuntu 20.04.5 LTS
Mantener vivo v2.0.19
frontend raporty bind 192.168.0..108:80 bind 192.168.0.108:443 ssl crt /etc/ssl/certs/haproxy.pem default_backend reportserver option forwardfor backend reportserver mode http balance roundrobin option httpchk uri /reports http-check expect status 401 http-response set-header X-Server %s http-request redirect code 301 location http://sql02.domain.local%[capture.req.uri] server sql01 192.168.0.11:80 check check fall 5 server sql02 192.168.0.111:80 check check fall 5 http-response set-header X-Server %s
Respuesta1
Esto se gestionó mediante la ACL y el parámetro srv_is_up.
frontend raporty
bind 192.168.0.108:80
bind 192.168.0.108:443 ssl crt /etc/ssl/certs/haproxy.pem
http-response set-header X-Server %s
http-response set-header Host %s
default_backend reportserver
option forwardfor
backend reportserver
mode http
balance roundrobin
option httpchk uri /reports
http-check expect status 401
acl asql01 srv_is_up(reportserver/sql01)
acl asql02 srv_is_up(reportserver/sql02)
http-request set-header Host %s
http-response set-header Host %s
http-request redirect code 301 location http://sql01.domain.local%[capture.req.uri] if asql01
http-request redirect code 301 location http://sql02.domain.local%[capture.req.uri] if asql02
server sql01 sql01.domain.local:80 check check fall 5
server sql02 sql02.domain.local:80 check check fall 5
http-response set-header X-Server %s