156 lines
3.5 KiB
Text
156 lines
3.5 KiB
Text
#
|
|
# Example pillar configuration
|
|
#
|
|
|
|
haproxy:
|
|
enabled: True
|
|
config_file_path: /etc/haproxy/haproxy.cfg
|
|
global:
|
|
stats:
|
|
enable: True
|
|
socketpath: /var/lib/haproxy/stats
|
|
|
|
user: haproxy
|
|
group: haproxy
|
|
chroot:
|
|
enable: True
|
|
path: /var/lib/haproxy
|
|
|
|
daemon: True
|
|
|
|
defaults:
|
|
log: global
|
|
mode: http
|
|
retries: 3
|
|
options:
|
|
- httplog
|
|
- dontlognull
|
|
- forwardfor
|
|
- http-server-close
|
|
timeouts:
|
|
- http-request 10s
|
|
- queue 1m
|
|
- connect 10s
|
|
- client 1m
|
|
- server 1m
|
|
- http-keep-alive 10s
|
|
- check 10s
|
|
|
|
errorfiles:
|
|
400: /etc/haproxy/errors/400.http
|
|
403: /etc/haproxy/errors/403.http
|
|
408: /etc/haproxy/errors/408.http
|
|
500: /etc/haproxy/errors/500.http
|
|
502: /etc/haproxy/errors/502.http
|
|
503: /etc/haproxy/errors/503.http
|
|
504: /etc/haproxy/errors/504.http
|
|
|
|
{# Suported by HAProxy 1.6 #}
|
|
resolvers:
|
|
local_dns:
|
|
options:
|
|
- nameserver resolvconf 127.0.0.1:53
|
|
- resolve_retries 3
|
|
- timeout retry 1s
|
|
- hold valid 10s
|
|
|
|
listens:
|
|
stats:
|
|
bind:
|
|
- "0.0.0.0:8998"
|
|
mode: http
|
|
stats:
|
|
enable: True
|
|
uri: "/admin?stats"
|
|
refresh: "20s"
|
|
myservice:
|
|
bind:
|
|
- "*:8888"
|
|
options:
|
|
- forwardfor
|
|
- http-server-close
|
|
defaultserver:
|
|
slowstart: 60s
|
|
maxconn: 256
|
|
maxqueue: 128
|
|
weight: 100
|
|
servers:
|
|
web1:
|
|
host: web1.example.com
|
|
port: 80
|
|
check: check
|
|
web2:
|
|
host: web2.example.com
|
|
port: 18888
|
|
check: check
|
|
|
|
frontends:
|
|
frontend1:
|
|
name: www-http
|
|
bind: "*:80"
|
|
redirect: scheme https if !{ ssl_fc }
|
|
reqadd:
|
|
- "X-Forwarded-Proto:\\ http"
|
|
default_backend: www-backend
|
|
|
|
www-https:
|
|
bind: "*:443 ssl crt /etc/ssl/private/certificate-chain-and-key-combined.pem"
|
|
reqadd:
|
|
- "X-Forwarded-Proto:\\ https"
|
|
default_backend: www-backend
|
|
acls:
|
|
- url_static path_beg -i /static /images /javascript /stylesheets
|
|
- url_static path_end -i .jpg .gif .png .css .js
|
|
use_backends:
|
|
- static-backend if url_static
|
|
some-services:
|
|
bind:
|
|
- "*:8080"
|
|
- "*:8088"
|
|
default_backend: api-backend
|
|
|
|
backends:
|
|
backend1:
|
|
name: www-backend
|
|
balance: roundrobin
|
|
redirect: scheme https if !{ ssl_fc }
|
|
servers:
|
|
server1:
|
|
name: server1-its-name
|
|
host: 192.168.1.213
|
|
port: 80
|
|
check: check
|
|
static-backend:
|
|
balance: roundrobin
|
|
redirect: scheme https if !{ ssl_fc }
|
|
options:
|
|
- http-server-close
|
|
- httpclose
|
|
- forwardfor except 127.0.0.0/8
|
|
- httplog
|
|
cookie: "pm insert indirect"
|
|
stats:
|
|
enable: True
|
|
uri: /url/to/stats
|
|
realm: LoadBalancer
|
|
auth: "user:password"
|
|
servers:
|
|
some-server:
|
|
host: 123.156.189.111
|
|
port: 8080
|
|
check: check
|
|
api-backend:
|
|
options:
|
|
- http-server-close
|
|
- forwardfor
|
|
servers:
|
|
apiserver1:
|
|
host: apiserver1.example.com
|
|
port: 80
|
|
check: check
|
|
server2:
|
|
name: apiserver2
|
|
host: apiserver2.example.com
|
|
port: 80
|
|
check: check
|
|
extra: resolvers local_dns resolve-prefer ipv4
|