Перенаправление Haproxy HTTP на HTTP с несколькими путями - PullRequest
0 голосов
/ 11 декабря 2018

Мой haproxy-сервер abcd и мое приложение работает на somedomain: 443 и somedomain: 8443, необходимо перенаправление, как показано ниже.

http://a.b.c.d  => https://somedomain.com//some/path/here
            => https://somedomain.com:8443//some/path/here


http://a.b.c.d:8080 =>  https://somedomain.com:8080//some/path/here

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Наконец изменил конфигурацию как ниже. Нужен бэкэнд RB0-web roundrobin способом.

listen FrontEnd  IP:80
        mode http
        log global
        acl is_web path -i /
        acl is_web1 path -i /1
        acl is_web2 path -i /2
        acl is_report path -i /report

        use_backend B1-web if is_web1
        use_backend B2-web if is_web2
        use_backend RB0-web if is_web
        use_backend B-Report if is_report

backend B1-web
        mode http
        redirect code 301 location https://FQDN/web/ws/login/ulogin

backend B2-web
        mode http
        redirect code 301 location https://FQDN:8443/web/ws/login/ulogin

backend RB0-web
        mode http
        balance roundrobin
        option forwardfor
        redirect code 301 location https://FQDN:8443/web/ws/login/ulogin
        redirect code 301 location https://FQDN/web/ws/login/ulogin

backend B-Report
        mode http
        balance roundrobin
        option forwardfor
        redirect code 301 location https://FQDN:8080/jasperserver/login.html
0 голосов
/ 12 декабря 2018

Это конфигурация, которую я сейчас использую.Я надеюсь, что и это перенаправление может быть сделано в одном интерфейсе и 2 бэкэндах, я прав?

listen WealthWeb  a.b.c.d:80
mode http
log global
balance roundrobin  # Load Balancing algorithm
option httpchk
option forwardfor
acl is_root path -i /

default_backend App1-443 App1-8443
#redirect code 301 location https://somedomain.com/some/path/here if is_root
#redirect code 301 location https://somedomain.com:8443/some/path/here if is_root

#server App1:443 App1-IP:443
#server App1:8443 App1-IP:8443

backend App1-443
acl is_root path -i /
redirect code 301 location https://somedomain.com/some/path/here if is_root
backend App1-8443
acl is_root path -i /
redirect code 301 location https://somedomain.com:8443/some/path/here if is_root

		
		
listen  JasperReport a.b.c.d:8080
mode http
balance roundrobin  # Load Balancing algorithm
option httpchk
option forwardfor
acl is_root path -i /

redirect code 301 location https://somedomain.com:8080/some/path/here if is_root

server App1:8080 App1-IP:8080 weight 1 maxconn 512 check
...