# Example configuration file for HAProxy 2.0, refer to the url below for # a full documentation and examples for configuration: # https://cbonte.github.io/haproxy-dconv/2.0/configuration.html # Global parameters global # Log events to a remote syslog server at given address using the # specified facility and verbosity level. Multiple log options # are allowed. #log 10.0.0.1 daemon info # Specifiy the maximum number of allowed connections. maxconn 32000 # Raise the ulimit for the maximum allowed number of open socket # descriptors per process. This is usually at least twice the # number of allowed connections (maxconn * 2 + nb_servers + 1) . ulimit-n 65535 # Drop privileges (setuid, setgid), default is "root" on OpenWrt. uid 0 gid 0 # Perform chroot into the specified directory. #chroot /var/run/haproxy/ # Daemonize on startup daemon nosplice # Enable debugging #debug # Spawn given number of processes and distribute load among them, # used for multi-core environments or to circumvent per-process # limits like number of open file descriptors. Default is 1. #nbproc 2 # Default parameters defaults # Default timeouts timeout connect 5000ms timeout client 50000ms timeout server 50000ms # Example HTTP proxy listener listen my_http_proxy # Bind to port 81 and 444 on all interfaces (0.0.0.0) bind :81,:444 # We're proxying HTTP here... mode http # Simple HTTP round robin over two servers using the specified # source ip 192.168.1.1 . balance roundrobin server server01 192.168.1.10:80 source 192.168.1.1 server server02 192.168.1.20:80 source 192.168.1.1 # Serve an internal statistics page on /stats: stats enable stats uri /stats # Enable HTTP basic auth for the statistics: stats realm HA_Stats stats auth username:password # Example SMTP proxy listener listen my_smtp_proxy # Disable this instance without commenting out the section. disabled # Bind to port 26 and 588 on localhost bind 127.0.0.1:26,127.0.0.1:588 # This is a TCP proxy mode tcp # Round robin load balancing over two servers on port 123 forcing # the address 192.168.1.1 and port 25 as source. balance roundrobin #use next line for transparent proxy, so the servers can see the #original ip-address and remove source keyword in server definition #source 0.0.0.0 usesrc clientip server server01 192.168.1.10:123 source 192.168.1.1:25 server server02 192.168.1.20:123 source 192.168.1.1:25 # Special health check listener for integration with external load # balancers. listen local_health_check # Listen on port 60000 bind :60000 # This is a health check mode health # Enable HTTP-style responses: "HTTP/1.0 200 OK" # else just print "OK". #option httpchk