【问题标题】:Marathon-lb not returning keep-alive headersMarathon-lb 不返回保持活动的标题
【发布时间】:2017-09-05 09:18:13
【问题描述】:

我们正在将微服务应用程序迁移到 dcos。当前版本的应用程序使用 nginx 作为反向代理。在迁移到 dcos 时,我们想用 marathon-lb 替换 nginx。这运作良好,但有一个例外。 Nginx 返回预期的Connection:keep-alive http 标头,但 marathon-lb 没有。

我们没有以任何方式更改 marathon-lb 的默认配置,据我所知,haproxy 具有预期的默认值。具体来说,http-server-close 选项。这是配置中的一个 sn-p。

defaults
  load-server-state-from-file global
  log               global
  retries                   3
  backlog               10000
  maxconn               10000
  timeout connect          3s
  timeout client          30s
  timeout server          30s
  timeout tunnel        3600s
  timeout http-keep-alive  1s
  timeout http-request    15s
  timeout queue           30s
  timeout tarpit          60s
  option            dontlognull
  option            http-server-close
  option            redispatch

我的服务具有以下格式的标签:

  "labels": {
    "HAPROXY_0_PATH": "-i /alerts",
    "HAPROXY_0_HTTP_BACKEND_PROXYPASS_PATH": "/alerts",
    "HAPROXY_0_VHOST": "foo.bar.com",
    "HAPROXY_GROUP": "external"
  }

我做错了什么?

【问题讨论】:

    标签: marathon dcos


    【解决方案1】:

    尝试使用option http-keep-aliveoption prefer-last-server

    见:Haproxy + netty: Way to prevent exceptions on connection reset?

    您可以通过HAPROXY_GLOBAL_DEFAULT_OPTIONS 覆盖默认配置。

    见:https://github.com/mesosphere/marathon-lb#haproxy-global-default-options

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-02
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-12
      相关资源
      最近更新 更多