Skip to content

Instantly share code, notes, and snippets.

@infowolfe
Created April 30, 2018 14:38
Show Gist options
  • Save infowolfe/05a8b791c47b3a0e1044eea1a208c4e4 to your computer and use it in GitHub Desktop.
Save infowolfe/05a8b791c47b3a0e1044eea1a208c4e4 to your computer and use it in GitHub Desktop.
# - Move this to /etc/haproxy/haproxy.cfg
# - Update nbproc line to match your number of cores (i.e. 16 v 32)
# - Update your cpu-map to match the number of cores
# - Modify the line with IP address 10.136.2.248 below to match the public or private IP address to your fabric instance
# - When done, run `/etc/init.d/haproxy restart` to update haproxy
# https://www.twilio.com/engineering/2013/10/16/haproxy
global
log /dev/log local0
log /dev/log local1 notice
log 127.0.0.1 local0 info
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
#stats socket /run/haproxy/admin.sock mode 660 level admin
#stats timeout 30s
ulimit-n 10485760
maxconn 5242880
# Default SSL material locations
ca-base /etc/ssl/certs
crt-base /etc/ssl/private
# Default ciphers to use on SSL-enabled listening sockets.
# For more information, see ciphers(1SSL). This list is from:
# https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
#ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
#ssl-default-bind-options no-sslv3
nbproc 32
cpu-map 1 0
cpu-map 2 1
cpu-map 3 2
cpu-map 4 3
cpu-map 5 4
cpu-map 6 5
cpu-map 7 6
cpu-map 8 7
cpu-map 9 8
cpu-map 10 9
cpu-map 11 10
cpu-map 12 11
cpu-map 13 12
cpu-map 14 13
cpu-map 15 14
cpu-map 16 15
cpu-map 17 16
cpu-map 18 17
cpu-map 19 18
cpu-map 20 19
cpu-map 21 20
cpu-map 22 21
cpu-map 23 22
cpu-map 24 23
cpu-map 25 24
cpu-map 26 25
cpu-map 27 26
cpu-map 28 27
cpu-map 29 28
cpu-map 30 29
cpu-map 31 30
cpu-map 32 31
defaults
log global
mode http
option httplog
option dontlognull
option dontlog-normal
option http-server-close
option redispatch
retries 2
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 Configuration###########
frontend access_http
bind 0.0.0.0:80
mode http
# http-request capture hdr(Authorization) len 256
# capture request header Authorization len 256
bind-process 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
default_backend fabric_backend
#############Backend Config##########3
backend fabric_backend
balance roundrobin
maxconn 5242880
cookie TRNID insert
option forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
# private ip
server pfabric-0 10.132.147.158:4000 cookie pfabric-0
server pfabric-1 10.132.154.136:4000 cookie pfabric-1
server pfabric-2 10.132.156.147:4000 cookie pfabric-2
server pfabric-3 10.132.156.181:4000 cookie pfabric-3
server pfabric-4 10.132.156.184:4000 cookie pfabric-4
server pfabric-5 10.132.157.72:4000 cookie pfabric-5
server pfabric-6 10.132.157.73:4000 cookie pfabric-6
server pfabric-7 10.132.157.75:4000 cookie pfabric-7
server pfabric-8 10.132.157.76:4000 cookie pfabric-8
server pfabric-9 10.132.157.77:4000 cookie pfabric-9
server pfabric-10 10.132.157.78:4000 cookie pfabric-10
server pfabric-11 10.132.157.79:4000 cookie pfabric-11
server pfabric-12 10.132.157.80:4000 cookie pfabric-12
server pfabric-13 10.132.157.81:4000 cookie pfabric-13
server pfabric-14 10.132.157.82:4000 cookie pfabric-14
server pfabric-15 10.132.157.83:4000 cookie pfabric-15
server pfabric-16 10.132.157.84:4000 cookie pfabric-16
server pfabric-17 10.132.157.85:4000 cookie pfabric-17
server pfabric-18 10.132.157.86:4000 cookie pfabric-18
server pfabric-19 10.132.157.87:4000 cookie pfabric-19
server pfabric-20 10.132.157.88:4000 cookie pfabric-20
server pfabric-21 10.132.157.89:4000 cookie pfabric-21
server pfabric-22 10.132.157.90:4000 cookie pfabric-22
server pfabric-23 10.132.157.91:4000 cookie pfabric-23
server pfabric-24 10.132.157.93:4000 cookie pfabric-24
server pfabric-25 10.132.157.94:4000 cookie pfabric-25
server pfabric-26 10.132.157.95:4000 cookie pfabric-26
server pfabric-27 10.132.157.96:4000 cookie pfabric-27
server pfabric-28 10.132.157.97:4000 cookie pfabric-28
server pfabric-29 10.132.157.98:4000 cookie pfabric-29
server pfabric-30 10.132.157.99:4000 cookie pfabric-30
server pfabric-31 10.132.157.100:4000 cookie pfabric-31
server pfabric-32 10.132.157.101:4000 cookie pfabric-32
server pfabric-33 10.132.157.102:4000 cookie pfabric-33
server pfabric-34 10.132.157.103:4000 cookie pfabric-34
server pfabric-35 10.132.157.104:4000 cookie pfabric-35
server pfabric-36 10.132.157.105:4000 cookie pfabric-36
server pfabric-37 10.132.157.106:4000 cookie pfabric-37
server pfabric-38 10.132.157.107:4000 cookie pfabric-38
server pfabric-39 10.132.157.108:4000 cookie pfabric-39
server pfabric-40 10.132.157.109:4000 cookie pfabric-40
server pfabric-41 10.132.157.110:4000 cookie pfabric-41
server pfabric-42 10.132.157.111:4000 cookie pfabric-42
server pfabric-43 10.132.157.112:4000 cookie pfabric-43
server pfabric-44 10.132.157.115:4000 cookie pfabric-44
server pfabric-45 10.132.157.116:4000 cookie pfabric-45
server pfabric-46 10.132.157.117:4000 cookie pfabric-46
server pfabric-47 10.132.157.118:4000 cookie pfabric-47
server pfabric-48 10.132.157.119:4000 cookie pfabric-48
server pfabric-49 10.132.157.121:4000 cookie pfabric-49
server pfabric-50 10.132.157.169:4000 cookie pfabric-50
server pfabric-51 10.132.157.122:4000 cookie pfabric-51
server pfabric-52 10.132.157.123:4000 cookie pfabric-52
server pfabric-53 10.132.157.124:4000 cookie pfabric-53
server pfabric-54 10.132.157.125:4000 cookie pfabric-54
server pfabric-55 10.132.157.126:4000 cookie pfabric-55
server pfabric-56 10.132.157.127:4000 cookie pfabric-56
server pfabric-57 10.132.157.128:4000 cookie pfabric-57
server pfabric-58 10.132.157.129:4000 cookie pfabric-58
server pfabric-59 10.132.157.131:4000 cookie pfabric-59
server pfabric-60 10.132.157.133:4000 cookie pfabric-60
server pfabric-61 10.132.157.135:4000 cookie pfabric-61
server pfabric-62 10.132.157.136:4000 cookie pfabric-62
server pfabric-63 10.132.157.137:4000 cookie pfabric-63
server pfabric-64 10.132.157.138:4000 cookie pfabric-64
server pfabric-65 10.132.157.139:4000 cookie pfabric-65
server pfabric-66 10.132.157.140:4000 cookie pfabric-66
server pfabric-67 10.132.157.141:4000 cookie pfabric-67
server pfabric-68 10.132.157.142:4000 cookie pfabric-68
server pfabric-69 10.132.157.143:4000 cookie pfabric-69
server pfabric-70 10.132.157.144:4000 cookie pfabric-70
server pfabric-71 10.132.157.145:4000 cookie pfabric-71
server pfabric-72 10.132.157.146:4000 cookie pfabric-72
server pfabric-73 10.132.157.147:4000 cookie pfabric-73
server pfabric-74 10.132.157.148:4000 cookie pfabric-74
server pfabric-75 10.132.157.149:4000 cookie pfabric-75
server pfabric-76 10.132.157.157:4000 cookie pfabric-76
server pfabric-77 10.132.88.10:4000 cookie pfabric-77
server pfabric-78 10.132.157.159:4000 cookie pfabric-78
server pfabric-79 10.132.157.160:4000 cookie pfabric-79
server pfabric-80 10.132.157.161:4000 cookie pfabric-80
server pfabric-81 10.132.157.162:4000 cookie pfabric-81
server pfabric-82 10.132.157.163:4000 cookie pfabric-82
server pfabric-83 10.132.157.164:4000 cookie pfabric-83
server pfabric-84 10.132.157.165:4000 cookie pfabric-84
server pfabric-85 10.132.157.167:4000 cookie pfabric-85
server pfabric-86 10.132.157.168:4000 cookie pfabric-86
# example with health checks
#server fabric-set0 172.31.86.134:4000 check port 80
listen stats
bind :9000
mode http
stats enable
stats hide-version
stats realm Haproxy\ Statistics
stats uri /haproxy_stats # Stats URI
stats auth admin:tern10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment