Enhance reverse proxy transport configuration for improved performance. Updated reverse.go to set a direct transport for the reverse proxy, ensuring more efficient request handling. Modified gateway.go to utilize the direct transport with customized connection settings, optimizing idle connections and timeouts.
Publish telemt-api gateway Docker image / test (push) Failing after 27s
Publish telemt-api gateway Docker image / build-and-push (push) Has been skipped

This commit is contained in:
Denozordec
2026-03-30 00:31:46 +07:00
parent 5934d059a4
commit e1c6b2ab49
3 changed files with 23 additions and 9 deletions
+7 -9
View File
@@ -28,15 +28,13 @@ type Gateway struct {
// NewGateway builds handlers and reverse proxies from parsed config.
func NewGateway(p *config.Parsed, log *slog.Logger) (*Gateway, error) {
t := &http.Transport{
Proxy: http.ProxyFromEnvironment,
MaxIdleConns: 64,
IdleConnTimeout: 90 * time.Second,
TLSHandshakeTimeout: 10 * time.Second,
ExpectContinueTimeout: 1 * time.Second,
DialContext: (&net.Dialer{Timeout: 5 * time.Second, KeepAlive: 30 * time.Second}).DialContext,
ResponseHeaderTimeout: 120 * time.Second,
}
t := proxy.DirectTransport()
t.MaxIdleConns = 64
t.IdleConnTimeout = 90 * time.Second
t.TLSHandshakeTimeout = 10 * time.Second
t.ExpectContinueTimeout = 1 * time.Second
t.DialContext = (&net.Dialer{Timeout: 5 * time.Second, KeepAlive: 30 * time.Second}).DialContext
t.ResponseHeaderTimeout = 120 * time.Second
g := &Gateway{
parsed: p,
proxies: make(map[string]*httputil.ReverseProxy),