Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejs
global
    log		/dev/haproxy/log local0			# см https://en.wikipedia.org/wiki/Syslog#Facility
    log		/dev/haproxy/log local1 notice	 # notice - уровень ошибки. весь список: emerg, alert, crit, err, warning, notice, info, debug
    chroot	 /var/lib/haproxy				# изменяем директорию выполнения для защиты от атак, папка пуста и нет прав
    maxconn	256								# максимальное количество одновременных подключений. 
    stats 	 socket /run/haproxy/admin.sock mode 660 level admin # связывает сокет с admin.sock
    stats 	timeout 3s						
    user 	haproxy
    group 	haproxy 
    daemon 			# Запустить процесс в фоновом режиме

defaults
    log global # параметры лога берутся из секции global
    mode tcp # режим работы экземпляра httpHAProxy
    option dontlognull httplog
# отключить логи для optionфиктивных  dontlognullподключений
    timeout connect 	5000ms
    timeout client 	50000ms
    timeout server 	50000ms
    retries 3		 # кол-во попыток до того, как понизить статус сервера
	# Статистика
    stats 	enableenable # включение вывода статистики
    stats 	hide-version # скрытие версии HAProxy на странице статистики
    stats 	realm Haproxy	HAProxy\ Statistics # установка authentication realm
    stats 	uri 		/haproxy			#здесь# указываемустановка ссылкуссылки на страницу статистики
    stats 	auth stat:stat
    option 	httpchk HEAD / HTTP/1.0
	# Настройки доступа 
    option 	redispatch  	admin:admin			# позволитлогин пользователями пройтипароль кот другому серверу если сервер, на который ссылаются их куки, не работает  страницы статистики
	# Алгоритм выбора сервера    
	balance roundrobin				# выбор сервера наименееперебором загруженного по порядку

frontend 	ft_rdp
	mode 	tcp
	bind 	192.168.10.140:3389 name rdp # Адрес и порт на HAProxy для подключения клиентов
	timeout client 1h
	log 	global
	option 	tcplog # настройка логов TCP подключений с состояниями и таймерами
	tcp-request inspect-delay 2s # установка максимального времени анализа входящего соединения
	tcp-request content accept if RDP_COOKIE # сессия открывается при наличии RDP протокола
	default_backend bk_rdp				 # указываем какойназвание backend, обрабатываетобрабатывающего запросы

backend bk_rdp
	mode 		tcp
	balance 	leastconnleastconn # выбор сервера с наименьшим числом активных соединений
	timeout 	server 1h
	timeout 	connect 4s
	log 		global
	option 		tcp-check 					# Выполнить проверку доступности по TCP, 
	tcp-check 	connect port 3389 ssl	# открывая зашифрованное соединение на порт 3389.
	stick-table type ip size 1m expire 1h # настраиваем таблицу привязки по ip размером 1 млн записей и временем жизни записи 1 час
	stick on src # используемиспользовать ip-адрес клиента для привязки
	default-server inter 3s rise 2 fall 3 # Установить интервал проверки у серверов backend 3 сек. Сервер будет считаться активным после 2 успешных проверок и недоступным после 3 неудачных проверок.
	server gw4 192.168.10.148:3389 weight 10 check verify none #################### 	#######################
	server gw3 192.168.10.147:3389 weight 10 check verify none 	#Сервера PAM Gateway
	server gw2 192.168.10.146:3389 weight 10 check verify none #	#веса серверов равны относительно друг друга
	server gw1 192.168.10.145:3389 weight 10 check verify none #	#проверка доступности включена, сертификат не проверяется