61 lines
1.6 KiB
INI
61 lines
1.6 KiB
INI
global
|
|
log stdout format raw daemon info
|
|
|
|
user root
|
|
group root
|
|
|
|
daemon
|
|
|
|
pidfile /run/haproxy.pid
|
|
maxconn 4000
|
|
|
|
# Turn on stats unix socket
|
|
server-state-file /var/lib/haproxy/server-state
|
|
|
|
setenv POST 1
|
|
setenv ALLOW_RESTARTS 1
|
|
setenv CONTAINERS 1
|
|
setenv VERSION 1
|
|
|
|
defaults
|
|
mode http
|
|
log global
|
|
option httplog
|
|
option dontlognull
|
|
option http-server-close
|
|
option redispatch
|
|
retries 3
|
|
timeout http-request 10s
|
|
timeout queue 1m
|
|
timeout connect 10s
|
|
timeout client 10m
|
|
timeout server 10m
|
|
timeout http-keep-alive 10s
|
|
timeout check 10s
|
|
maxconn 3000
|
|
|
|
# Allow seamless reloads
|
|
load-server-state-from-file global
|
|
|
|
# Use provided example error pages
|
|
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
|
|
|
|
backend dockerbackend
|
|
server dockersocket /var/run/docker.sock
|
|
|
|
frontend dockerfrontend
|
|
bind :2375
|
|
http-request deny unless METH_GET || { env(POST) -m bool }
|
|
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/((stop)|(restart)|(kill)) } { env(ALLOW_RESTARTS) -m bool }
|
|
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers } { env(CONTAINERS) -m bool }
|
|
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/version } { env(VERSION) -m bool }
|
|
http-request deny
|
|
default_backend dockerbackend
|
|
|