Search code examples
haproxy

What is the purpose of haproxy random udp listening port?


When I start haproxy server, it always starts a random UDP port. What is this UDP port used to ? And can i set it to a static port?

Below is the haproxy.cfg file content:

global

log         127.0.0.1 local2

chroot      /var/lib/haproxy
pidfile     /var/run/haproxy.pid
maxconn     4000
user        haproxy
group       haproxy
daemon

stats socket /var/lib/haproxy/stats

defaults
mode                    http
log                     global
option                  httplog
option                  dontlognull
option http-server-close
option forwardfor       except 127.0.0.0/8
option                  redispatch
retries                 3
timeout http-request    10s
timeout queue           1m
timeout connect         10s
timeout client          1m
timeout server          1m
timeout http-keep-alive 10s
timeout check           10s
maxconn                 3000

frontend  main *:5000
acl url_static       path_beg       -i /static /images /javascript 
/stylesheets
acl url_static       path_end       -i .jpg .gif .png .css .js

use_backend static          if url_static
default_backend             app


backend static
balance     roundrobin
server      static 127.0.0.1:4331 check

backend app
balance     roundrobin
server  app1 127.0.0.1:5001 check
server  app2 127.0.0.1:5002 check
server  app3 127.0.0.1:5003 check
server  app4 127.0.0.1:5004 check

And below is the netstat result;

# netstat -anp| grep udp | grep haproxy
udp        0      0 0.0.0.0:43367           0.0.0.0:*                           3067/haproxy

Thanks a lot!


Solution

  • I have found out the port's purpose, after config the log section, haproxy start a random udp port to connect syslog udp port 514. I think it is for performance that it starts the udp port immediately after process started.