http://192.168.0.228:8080/app1 => http://192.168.0.228:8081
http://192.168.0.228:8080/app2 => http://192.168.0.228:8082
haproxy.cfg
global
daemon
maxconn 256
defaults
timeout connect 10s
timeout client 30s
timeout server 30s
mode http
maxconn 3000
frontend http_in
bind *:8080
use_backend app1_backend if { path /app1 }
use_backend app2_backend if { path /app2 }
backend app1_backend
http-request set-path %[path,regsub(^/app1/?,/)]
server server1 192.168.0.228:8081
backend app2_backend
http-request set-path %[path,regsub(^/app2/?,/)]
server server1 192.168.0.228:8082
more : https://grafana.com/tutorials/run-grafana-behind-a-proxy/#configure-haproxy