66 lines
2.8 KiB
INI
66 lines
2.8 KiB
INI
|
global
|
||
|
log 127.0.0.1 local2
|
||
|
|
||
|
pidfile /run/haproxy.pid
|
||
|
maxconn 4000
|
||
|
|
||
|
# Turn on stats unix socket
|
||
|
server-state-file /var/lib/haproxy/server-state
|
||
|
|
||
|
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 /usr/local/etc/haproxy/errors/400.http
|
||
|
errorfile 403 /usr/local/etc/haproxy/errors/403.http
|
||
|
errorfile 408 /usr/local/etc/haproxy/errors/408.http
|
||
|
errorfile 500 /usr/local/etc/haproxy/errors/500.http
|
||
|
errorfile 502 /usr/local/etc/haproxy/errors/502.http
|
||
|
errorfile 503 /usr/local/etc/haproxy/errors/503.http
|
||
|
errorfile 504 /usr/local/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 deny if { path_reg ^(/v\d+.\d+)?/auth } ! { env(AUTH) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/build } ! { env(BUILD) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/commit } ! { env(COMMIT) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/containers } ! { env(CONTAINERS) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/events } ! { env(EVENTS) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/exec } ! { env(EXEC) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/images } ! { env(IMAGES) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/info } ! { env(INFO) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/networks } ! { env(NETWORKS) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/nodes } ! { env(NODES) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/_ping } ! { env(PING) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/plugins } ! { env(PLUGINS) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/post } ! { env(POST) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/secrets } ! { env(SECRETS) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/services } ! { env(SERVICES) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/swarm } ! { env(SWARM) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/system } ! { env(SYSTEM) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/tasks } ! { env(TASKS) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/version } ! { env(VERSION) -m bool }
|
||
|
http-request deny if { path_reg ^(/v\d+.\d+)?/volumes } ! { env(VOLUMES) -m bool }
|
||
|
default_backend dockerbackend
|