bug(cloudflared): Set the MaxIdleConnsPerHost of http.Transport to proxy-keepalive-connections

Setting the MaxIdleConns is not enough, the MaxIdleConnsPerHost must be set as well.
Otherwise, http.Transport will use the DefaultMaxIdleConnsPerHost, which is 2,
and then the connection pool will have only 2 connection hold.
This commit is contained in:
Rueian 2019-12-05 01:13:27 +08:00
parent bbf31377c2
commit 61ef60c787
1 changed files with 1 additions and 0 deletions

View File

@ -197,6 +197,7 @@ func prepareTunnelConfig(
httpTransport := &http.Transport{
Proxy: http.ProxyFromEnvironment,
MaxIdleConns: c.Int("proxy-keepalive-connections"),
MaxIdleConnsPerHost: c.Int("proxy-keepalive-connections"),
IdleConnTimeout: c.Duration("proxy-keepalive-timeout"),
TLSHandshakeTimeout: c.Duration("proxy-tls-timeout"),
ExpectContinueTimeout: 1 * time.Second,