I am having a server which is running kibana & i have set it to be accesses from localhost. This is a linux server so i can do :
links http://localhost:5601
This runs fine. I need to put this kibana server behind HAProxy which will act as a reverse proxy for Kibana.
My Haproxy config file (/etc/haproxy/haproxy.cfg) looks like
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
ssl-default-bind-options no-sslv3
defaults
log global
mode http
option httplog
option dontlognull
option http-keep-alive
timeout http-keep-alive 5m
timeout http-request 5s
timeout connect 300s
timeout client 300s
timeout server 300s
timeout check 300s
#timeout connect 5000
#timeout client 50000
#timeout server 50000
errorfile 400 /etc/haproxy/errors/400.http
errorfile 403 /etc/haproxy/errors/403.http
errorfile 408 /etc/haproxy/errors/408.http
errorfile 500 /etc/haproxy/errors/500.http
errorfile 502 /etc/haproxy/errors/502.http
errorfile 503 /etc/haproxy/errors/503.http
errorfile 504 /etc/haproxy/errors/504.http
listen stats 0.0.0.0:9000 #Listen on all IP's on port 9000
#This is the virtual URL to access the stats page
stats uri /haproxy_stats
#Authentication realm. This can be set to anything. Escape space characters with a backslash.
stats realm HAProxy\ Statistics
#The user/pass you want to use. Change this password!
stats auth admin:passwordhere
#This allows you to take down and bring up back end servers.
#This will produce an error on older versions of HAProxy.
stats admin if TRUE
What frontend & backend should i be adding to this file, i am more interested in context based switching. I am looking for "http://haproxy_ip/kibana" should redirect me to kibana web page
Try this.
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
Test the HAProxy config:
haproxy -c -V -f /etc/haproxy/haproxy.cfg
Restart the HAProxy:
systemctl restart haproxy
The original answer and explanation at: kibana server.basePath results in 404
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With