微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HaProxy 为空响应返回 502

如何解决HaProxy 为空响应返回 502

我对 HaProxy 超时有疑问。 我有一个在 HaProxy(1.8 版)后面运行的应用程序
我拥有的应用程序可以被视为一个黑盒,其中的内部结构是未知的。
在这个应用程序中有一个 RESTFul 端点,它需要相当长的时间来完成(少于 5 分钟)并返回一个空响应 (204)。
当我执行上述端点(通过 HAProxy)时,它返回 502 Bad Gateway 响应,我可以在 HAProxy 日志中看到以下日志消息。

RESTFul 端点:GET /abc/service/com.team.repository.internal.diagnostic

HaProxy 日志输出

Jul 14 05:55:01 localhost haproxy[116403]: 9.XX.XXX.219:38442 [14/Jul/2021:05:54:00.789] oift~ abc-default/defaultserver 0/0/143/-1/60217 502 204 - - SH-- 36/36/0/0/0 0/0 "GET /abc/service/com.team.repository.internal.diagnostic?id=com.team.repository.service.database.databaseStatisticsDiagnostic HTTP/1.1"

但是,当我从拓扑中删除 HAProxy 并调用相同的 RESTFul 端点时,我可以正确获得响应(空)。

global
    log         127.0.0.1:514 local0 info
    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     6000
    user        haproxy
    group       haproxy
    daemon
    stats socket /var/lib/haproxy/stats
    tune.ssl.default-dh-param 2048
    tune.maxrewrite     4096

defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option                  http-server-close
    option                  redispatch
    retries                 3
    timeout http-request    10m
    timeout queue           10m
    timeout connect         1m
    timeout client          10m
    timeout server         10m
    timeout tunnel         10m
    timeout http-keep-alive 10m
    maxconn                 6000

frontend  openshift
    bind        *:80
    bind        *:443 ssl crt /etc/ssl/private/hap.pem
    mode        http
    redirect    scheme https if !{ ssl_fc }
    maxconn     2000
    default_backend     abc-default

backend abc-default
    fullconn 1000
    balance roundrobin
    server defaultserver abc-haproxy.apps.sstream-dev-new.os.com ssl verify none

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。