diff --git a/templates/haproxy_cfg b/templates/haproxy_cfg
index d27f4b695a737cb8fb61ff45c774968c49513281..0be6aac3749fbc2e9a2739e1092808ccc757489f 100644
--- a/templates/haproxy_cfg
+++ b/templates/haproxy_cfg
@@ -40,11 +40,22 @@ listen stats
   stats admin if TRUE
   stats uri /haproxy_stats
   stats realm LoadBalancerStats
+{% if kibana_users is defined %}
+
+userlist kibana
+{% for user in kibana_users %}
+  user {{ user.username }} insecure-password '{{ user.password }}'
+{% endfor %}
+{% endif %}
 
 frontend http_in
   bind *:80
   acl blockedip src  -i -f /etc/haproxy/blacklist
   http-request deny if blockedip
+{% if kibana_users is defined %}
+  acl kibana_present hdr_dom(host) -i '{{ inventory_hostname }}'
+  use_backend backend_kibana if kibana_present
+{% endif %}
 {% if varnish_host|default(false) %}
   acl static_content path_end .jpg .jpeg .gif .png .ico .swf .css .js .htm .html
   use_backend backend_varnish if static_content
@@ -114,3 +125,10 @@ backend backend_redirect_ssl
 
 backend backend_redirect
   redirect scheme http if TRUE
+{% if kibana_users is defined %}
+
+backend backend_kibana
+  server kibana 127.0.0.1:5601 maxconn 32
+  acl kibana_auth http_auth(kibana) if kibana_present
+  http-request auth realm Kibana if !kibana_auth
+{% endif %}