mirror of
https://gitea.0xace.cc/ansible-galaxy/haproxy.git
synced 2024-11-25 00:16:39 +00:00
87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
|
Setup HAProxy service
|
||
|
|
||
|
Config example:
|
||
|
|
||
|
haproxy_ssl: yes
|
||
|
haproxy_self_sign_cert: yes
|
||
|
haproxy_config:
|
||
|
frontend:
|
||
|
well-known:
|
||
|
bind: ':80'
|
||
|
mode: http
|
||
|
acl:
|
||
|
- letsencrypt-acl path_beg /.well-known/acme-challenge/
|
||
|
- has_cors res.hdr(Access-Control-Allow-Origin) -m found
|
||
|
http-request:
|
||
|
- redirect scheme https if !{ path_beg /.well-known/acme-challenge/ } !{ ssl_fc }
|
||
|
use_backend:
|
||
|
- letsencrypt-backend if letsencrypt-acl
|
||
|
https:
|
||
|
bind: ':443 ssl crt {{ haproxy_ssl_path }}'
|
||
|
mode: http
|
||
|
acl:
|
||
|
- letsencrypt-acl path_beg /.well-known/acme-challenge/
|
||
|
use_backend:
|
||
|
- letsencrypt-backend if letsencrypt-acl
|
||
|
default_backend: localhost_5001
|
||
|
backend:
|
||
|
letsencrypt-backend:
|
||
|
mode: http
|
||
|
server:
|
||
|
- letsencrypt 127.0.0.1:8080
|
||
|
localhost_5001:
|
||
|
mode: http
|
||
|
server:
|
||
|
- localhost 127.0.0.1:5001
|
||
|
listen:
|
||
|
rabbitmq:
|
||
|
bind: "10.89.10.112:5672"
|
||
|
mode: tcp
|
||
|
option:
|
||
|
- tcpka
|
||
|
server:
|
||
|
- t1-dev-rabbitmq-1 10.89.10.71:5672 check inter 2000 rise 2 fall 5
|
||
|
- t1-dev-rabbitmq-2 10.89.10.72:5672 check inter 2000 rise 2 fall 5
|
||
|
- t1-dev-rabbitmq-3 10.89.10.73:5672 check inter 2000 rise 2 fall 5
|
||
|
rabbitmq_management:
|
||
|
bind: "10.89.10.112:15672"
|
||
|
mode: http
|
||
|
server:
|
||
|
- t1-dev-rabbitmq-1 10.89.10.71:15672 check inter 2000 rise 2 fall 5
|
||
|
- t1-dev-rabbitmq-2 10.89.10.72:15672 check inter 2000 rise 2 fall 5
|
||
|
- t1-dev-rabbitmq-3 10.89.10.73:15672 check inter 2000 rise 2 fall 5
|
||
|
stats:
|
||
|
bind: ":9000"
|
||
|
mode: http
|
||
|
stats:
|
||
|
- enable
|
||
|
- hide-version
|
||
|
- realm Haproxy\ Statistics
|
||
|
- uri /haproxy_stats
|
||
|
- auth {{ haproxy_stats_user }}:{{ haproxy_stats_password }}
|
||
|
|
||
|
Map example:
|
||
|
|
||
|
haproxy_map:
|
||
|
hosts.map: |
|
||
|
#domainname backendname
|
||
|
example.com backend
|
||
|
*.example.com backend
|
||
|
|
||
|
Lua example:
|
||
|
|
||
|
haproxy_lua:
|
||
|
invertPath.lua: |
|
||
|
local function invertPath(host)
|
||
|
host = host:gsub('website.*','')
|
||
|
a, b = host:match"(.*)%.([^.]+)"
|
||
|
-- print(a)
|
||
|
-- print(b)
|
||
|
s = b .. ":" .. a
|
||
|
return s
|
||
|
end
|
||
|
|
||
|
core.register_converters("invertPath", invertPath)
|
||
|
|
||
|
|