系统相关
首页 > 系统相关> > linux-为什么HAProxy无法在端口80上监听?

linux-为什么HAProxy无法在端口80上监听?

作者:互联网

新机器,没有http服务器正在运行(没有httpd,没有lighttpd,没有nginx)

$netstat -nat | grep 80 | grep LISTEN

什么都不产生…

这是我的HAProxy配置文件,这可能是HAProxy不这样做的原因

global
        maxconn 72000
        daemon

defaults
        mode    http
        timeout connect 4000ms
        timeout client 60000ms
        timeout server 30000ms


frontend my_frontend
         bind *:80
         default_backend cdn

backend cdn
       server cdn1 10.177.0.17:80 weight 1 maxconn 8192 check
       server cdn2 10.177.1.92:80 weight 1 maxconn 8192 check
       server cdn3 10.177.1.147:80 weight 1 maxconn 8192 check
       server cdn4 10.177.1.202:80 weight 1 maxconn 8192 check

       server cdn4 10.177.1.202:80 weight 1 maxconn 8192 check
       server cdn5 10.177.1.211:80 weight 1 maxconn 8192 check
       server cdn6 10.177.1.93:80 weight 1 maxconn 8192 check
       server cdn7 10.177.1.230:80 weight 1 maxconn 8192 check
       server cdn8 10.177.0.7:80 weight 1 maxconn 8192 check
       server cdn9 10.177.0.196:80 weight 1 maxconn 8192 check
       server cdn10 10.177.1.82:80 weight 1 maxconn 8192 check
       server cdn11 10.177.0.124:80 weight 1 maxconn 8192 check
       server cdn12 10.177.1.142:80 weight 1 maxconn 8192 check
       server cdn13 10.177.1.58:80 weight 1 maxconn 8192 check
       server cdn14 10.177.1.137:80 weight 1 maxconn 8192 check
       server cdn15 10.177.1.169:80 weight 1 maxconn 8192 check
       server cdn16 10.177.0.187:80 weight 1 maxconn 8192 check
       server cdn17 10.177.1.95:80 weight 1 maxconn 8192 check
       server cdn18 10.177.1.123:80 weight 1 maxconn 8192 check

从源代码运行haproxy-1.4.13.

当我尝试启动它时,出现此错误

[ALERT] 084/220004 (2409) : Starting frontend my_frontend: cannot bind socket

解决方法:

添加名为用户的全局配置参数

user nobody

或一些特权较低的用户.仍然需要以root用户身份启动,但是在获取端口进程本身之后,将用户/特权减少为没人.

标签:configuration,bind,load-balancing,haproxy,linux
来源: https://codeday.me/bug/20191102/1994084.html