caddyserver/caddy · error

making dial info: %v

Error message

making dial info: %v

What it means

Error "making dial info: %v" thrown in caddyserver/caddy.

Source

Thrown at modules/caddyhttp/reverseproxy/reverseproxy.go:653

	// choose an available upstream
	upstream := h.LoadBalancing.SelectionPolicy.Select(upstreams, r, w)
	if upstream == nil {
		if proxyErr == nil {
			proxyErr = caddyhttp.Error(http.StatusServiceUnavailable, errNoUpstream)
		}
		if !h.LoadBalancing.tryAgain(h.ctx, start, retries, proxyErr, r, h.logger) {
			return true, proxyErr
		}
		return false, proxyErr
	}

	// the dial address may vary per-request if placeholders are
	// used, so perform those replacements here; the resulting
	// DialInfo struct should have valid network address syntax
	dialInfo, err := upstream.fillDialInfo(repl)
	if err != nil {
		return true, fmt.Errorf("making dial info: %v", err)
	}

	if c := h.logger.Check(zapcore.DebugLevel, "selected upstream"); c != nil {
		c.Write(
			zap.String("dial", dialInfo.Address),
			zap.Int("total_upstreams", len(upstreams)),
		)
	}

	// set placeholders with information about this upstream
	repl.Set("http.reverse_proxy.upstream.address", dialInfo.String())
	repl.Set("http.reverse_proxy.upstream.hostport", dialInfo.Address)
	repl.Set("http.reverse_proxy.upstream.host", dialInfo.Host)
	repl.Set("http.reverse_proxy.upstream.port", dialInfo.Port)
	repl.Set("http.reverse_proxy.upstream.requests", upstream.Host.NumRequests())
	repl.Set("http.reverse_proxy.upstream.max_requests", upstream.MaxRequests)
	repl.Set("http.reverse_proxy.upstream.fails", upstream.Host.Fails())

View on GitHub (pinned to 50e54ee279)

Solutions

  1. Check the upstream address and network configuration for the reverse proxy; the wrapped error explains the dial problem.

When it happens

Trigger: Thrown at modules/caddyhttp/reverseproxy/reverseproxy.go:653 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of caddyserver/caddy@50e54ee279 (2026-08-15). Data as JSON: /api/errors/3a515581ae6363c5. Report an issue: GitHub.