【发布时间】: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"
}
我做错了什么?
【问题讨论】: