我正在尝试通过端口 8082 上的 TCP 连接获取消息(文本字符串、JSON),并将其作为 HTTP 请求转发到端口 80 上的 apache 服务器(在同一台计算机上)。我认为我的配置不正确,因为它不起作用 =)
会议:
frontend sample_httpd
bind *:8082
mode tcp
default_backend sample_httpd
option tcplog
http-request set-method GET
backend sample_httpd
balance roundrobin
mode http
server master 127.0.0.1:80 check
日志:
Sep 20 20:42:28 DR-tracktape haproxy[2147]: 185.205.225.36:42593 [20/Sep/2023:20:42:28.125] sample_httpd sample_httpd/master 1/0/500 0 – 1/1/0/0/0 0/0
[由于声誉低于50,我无法在上面发表评论。]
我只是想知道,您是否在默认部分指定了任何超时?
原因是,在日志中我看到“0 -”,它实际上是计时器的占位符,它应该报告请求和响应阶段之间经过的时间,而在您的情况下它为零。
如果您还没有这样做,请在默认部分尝试这些超时,或者在此处分享完整的 haproxy.cfg 文件
defaults
timeout connect 5s
timeout client 30s
timeout server 30s