HAProxy 2.4 无法转发 HTTP / 挂起

HAProxy 2.4 无法转发 HTTP / 挂起

我有一台使用 docker-compose 的服务器,使用了镜像haproxy:1.4。它运行良好,但我想迁移到更新的版本。但从 开始haproxy:2.4,haproxy 不再起作用。

这是我的配置(除了日志配置,这与我使用 1.4 的配置完全相同):

global
  maxconn 256
  log stdout format raw local0 debug

defaults
  log global
  option httplog
  mode http
  timeout connect 5000ms
  timeout client 50000ms
  timeout server 50000ms

frontend http-in
  bind *:80
  default_backend test

backend test
  server test test:80 maxconn 256

test是一个运行 Web 服务器的容器。

当我卷曲时,我什么也得不到:

$ curl -vvv 127.0.0.1:80
*   Trying 127.0.0.1:80...
* TCP_NODELAY set
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> Host: 127.0.0.1
> User-Agent: curl/7.68.0
> Accept: */*
> 

然后它就永远挂起了(没有超时)。

尽管我配置了日志,但我没有从 haproxy 获得任何日志:

$ docker-compose logs haproxy
haproxy_1          | [NOTICE]   (1) : New worker #1 (8) forked
$

请注意,haproxy:2.3此方法有效。第一个开始失败的版本是 2.4。

这是 docker-compose 配置:

  haproxy:
    image: "haproxy:2.4"
    ports:
      - 80:80
    sysctls:
      - net.ipv4.ip_unprivileged_port_start=0
    volumes:
      - "/home/user/config/haproxy/:/usr/local/etc/haproxy/"
    restart: always

net.ipv4.ip_unprivileged_port_start为了使用端口 80,我必须添加,但除此之外,这与 1.4 图像的配置相同。

我不知道为什么日志没有显示,也不知道为什么它会挂起。如何解决或调试此问题?

相关内容