1 2 3 4 |
https://d2c.io/ru/article/how-to/haproxy-basic-ru https://habr.com/ru/post/244027/ https://wiki.archlinux.org/title/HAproxy https://bva.dyndns.info/2022/05/haproxy-and-company/ |
1 2 3 4 5 |
Раздел global определяет общую конфигурацию для всего HAProxy Defaults определяет настройки по-умолчанию для остальных разделов проксирования. Раздел listen объединяет в себе описание для фронтенда и бэкенда и содержит полный список прокси. Он полезен для TCP трафика. Раздел Frontend определяет, каким образом перенаправлять запросы к бэкенду в зависимости от того, что за запрос поступил от клиента. Секция Backend содержит список серверов и отвечает за балансировку нагрузки между ними в зависимости от выбранного алгоритма |
Пример стандартного конфига
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 |
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners 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 listen admin_stats bind 0.0.0.0:1080 mode http option httplog maxconn 10 stats refresh 30s stats uri /haproxy?stats stats auth admin:admin stats hide-version frontend grafana_3000 bind 0.0.0.0:3000 default_backend grafana_3000 frontend backuppc_7777 bind 0.0.0.0:7777 default_backend backuppc_7777 frontend rd_8080 bind 0.0.0.0:8080 default_backend rd_8080 frontend front_multi_80 bind *:80 use_backend grafana_backend if { path /grafana } or { path_beg /grafana/ } use_backend zabbix_backend if { path /zabbix } or { path_beg /zabbix/ } use_backend rd_backend if { path /rd } or { path_beg /rd/ } use_backend backuppc_backend if { path /backuppc } or { path_beg /backuppc/ } backend backuppc_7777 server backuppc 10.0.0.10:80 check backend grafana_3000 server faucet 10.0.0.2:3000 check backend rd_8080 server rd 10.0.0.8:80 check backend grafana_backend server grafana 10.0.0.2:3000 backend zabbix_backend server zabbix 10.0.0.4:80 backend rd_backend server rd 10.0.0.8:80 backend backuppc_backend server backuppc 10.0.0.10:80 |