Моя конфигурация haproxy выглядит так, и перенаправление на 5601 для кибаны не работает. Зачем?
##########################################################################
defaults
mode http
log global
option httplog
timeout connect 10s
timeout client 30s
timeout server 30s
frontend http-in
bind *:80
acl main path_beg -i /main
acl kibana path_beg -i /kibana
redirect location main if !main
use_backend kibana-backend if kibana
default_backend application-backend
backend application-backend
mode http
balance leastconn
option httpclose
option forwardfor
stats uri /haproxy?stat
stats enable
cookie JSESSIONID prefix
server app1 172.168.1.1:80 maxconn 32 check inter 5000 cookie my.site.ru
backend kibana-backend
mode http
option forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
server kibana 172.168.1.2:5601 maxconn 32 check inter 5000 cookie ki.site.ru
Вам не нужно переписывать заголовок, если вы установили два параметра Kibana в kibana.yml:
server.basePath: / kibana
server.rewriteBasePath: true
Попробуй это.
frontend main *:80
acl url_kibana path_beg -i /kibana
use_backend kibana if url_kibana
backend kibana
mode http
reqrep ^([^\ ]*)\ /kibana[/]?(.*) \1\ /\2
server x.x.x.x:5601
Протестируйте конфигурацию HAProxy:
haproxy -c -V -f /etc/haproxy/haproxy.cfg
Перезапустите HAProxy:
systemctl restart haproxy
Оригинальный ответ и объяснение по адресу: https://stackoverflow.com/questions/36266776/kibana-server-basepath-results-in-404