57 lines
1.9 KiB
INI
57 lines
1.9 KiB
INI
global
|
|
maxconn 4096
|
|
pidfile ~/tmp/haproxy-queue.pid
|
|
|
|
defaults
|
|
log global
|
|
log 127.0.0.1 local0
|
|
log 127.0.0.1 local1 notice
|
|
mode tcp
|
|
option httplog
|
|
option http-server-close
|
|
#option dontlognull
|
|
option redispatch
|
|
option contstats
|
|
retries 3
|
|
backlog 10000
|
|
timeout client 25s
|
|
timeout connect 5s
|
|
timeout server 25s
|
|
# timeout tunnel available in ALOHA 5.5 or HAProxy 1.5-dev10 and higher
|
|
timeout tunnel 3600s
|
|
timeout http-keep-alive 1s
|
|
timeout http-request 15s
|
|
timeout queue 30s
|
|
timeout tarpit 60s
|
|
default-server inter 3s rise 2 fall 3
|
|
option forwardfor
|
|
|
|
frontend gateways
|
|
bind *:6767
|
|
default_backend bk_ws
|
|
|
|
backend bk_ws
|
|
balance leastconn
|
|
|
|
## websocket protocol validation
|
|
# acl hdr_connection_upgrade hdr(Connection) -i upgrade
|
|
# acl hdr_upgrade_websocket hdr(Upgrade) -i websocket
|
|
# acl hdr_websocket_key hdr_cnt(Sec-WebSocket-Key) eq 1
|
|
# acl hdr_websocket_version hdr_cnt(Sec-WebSocket-Version) eq 1
|
|
# acl hdr_host hdr_cnt(Sec-WebSocket-Version) eq 1
|
|
# http-request deny if ! hdr_connection_upgrade ! hdr_upgrade_websocket ! hdr_w
|
|
#ebsocket_key ! hdr_websocket_version ! hdr_host
|
|
|
|
## ensure our application protocol name is valid
|
|
## (don't forget to update the list each time you publish new applications)
|
|
acl ws_valid_protocol hdr(Sec-WebSocket-Protocol) echo-protocol
|
|
http-request deny if ! ws_valid_protocol
|
|
|
|
## websocket health checking
|
|
#option httpchk GET / HTTP/1.1\r\nHost:\ ws.domain.com\r\nConnection:\ Upgrade
|
|
#\r\nUpgrade:\ websocket\r\nSec-WebSocket-Key:\ haproxy\r\nSec-WebSocket-Version
|
|
# <span class="wp-smiley emoji emoji-uneasy" title=":\">:\</span> 13\r\nSec-WebSocket-Protocol:\ echo-protocol
|
|
# http-check expect status 101
|
|
|
|
server websrv1 127.0.0.1:6769 maxconn 1000 weight 10 cookie gateway1 check
|
|
server websrv2 127.0.0.1:6771 maxconn 1000 weight 10 cookie gateway2 check |