-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhaproxy.cfg
118 lines (89 loc) · 3.28 KB
/
haproxy.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin
stats timeout 30s
user haproxy
group haproxy
daemon
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000
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
frontend http
bind *:80
use_backend http_dksjb01 if { req.hdr(host) -i -m end .dksjb01.nicklasfrahm.dev }
use_backend http_dksjb02 if { req.hdr(host) -i -m end .dksjb02.nicklasfrahm.dev }
frontend https
bind *:443
mode tcp
tcp-request inspect-delay 5s
tcp-request content accept if { req.ssl_hello_type 1 }
use_backend https_dksjb01 if { req.ssl_sni -i -m end .dksjb01.nicklasfrahm.dev }
use_backend https_dksjb02 if { req.ssl_sni -i -m end .dksjb02.nicklasfrahm.dev }
frontend kubeapi
bind *:6443
mode tcp
tcp-request inspect-delay 5s
tcp-request content accept if { req.ssl_hello_type 1 }
use_backend kubeapi_dksjb01 if { req.ssl_sni -i dksjb01.nicklasfrahm.dev }
use_backend kubeapi_dksjb02 if { req.ssl_sni -i dksjb02.nicklasfrahm.dev }
backend http_dksjb01
balance leastconn
option tcp-check
server kilo 10.3.11.101:30080 check
server lima 10.3.11.102:30080 check
server foxtrot 10.3.11.103:30080 check
backend http_dksjb02
balance leastconn
option tcp-check
server golf 10.3.11.104:30080 check
server hotel 10.3.11.105:30080 check
server india 10.3.11.106:30080 check
backend https_dksjb01
mode tcp
balance leastconn
option ssl-hello-chk
server kilo 10.3.11.101:30443 check
server lima 10.3.11.102:30443 check
server foxtrot 10.3.11.103:30443 check
backend https_dksjb02
mode tcp
balance leastconn
option ssl-hello-chk
server golf 10.3.11.104:30443 check
server hotel 10.3.11.105:30443 check
server india 10.3.11.106:30443 check
backend kubeapi_dksjb01
mode tcp
balance leastconn
option ssl-hello-chk
server kilo 10.3.11.101:6443 check
server lima 10.3.11.102:6443 check
server foxtrot 10.3.11.103:6443 check
backend kubeapi_dksjb02
mode tcp
balance leastconn
option ssl-hello-chk
server golf 10.3.11.104:6443 check
server hotel 10.3.11.105:6443 check
server india 10.3.11.106:6443 check