mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-27 06:03:48 +03:00
reverseproxy: Set origreq in active health check (#5284)
* reverseproxy: Set origreq in active health check Fix #5281 * Oops; dereference Request
This commit is contained in:
parent
55035d327a
commit
d74f6fd967
1 changed files with 4 additions and 1 deletions
|
@ -266,7 +266,8 @@ func (h *Handler) doActiveHealthCheck(dialInfo DialInfo, hostAddr string, upstre
|
||||||
u.Host = net.JoinHostPort(host, portStr)
|
u.Host = net.JoinHostPort(host, portStr)
|
||||||
}
|
}
|
||||||
|
|
||||||
// attach dialing information to this request
|
// attach dialing information to this request, as well as context values that
|
||||||
|
// may be expected by handlers of this request
|
||||||
ctx := h.ctx.Context
|
ctx := h.ctx.Context
|
||||||
ctx = context.WithValue(ctx, caddy.ReplacerCtxKey, caddy.NewReplacer())
|
ctx = context.WithValue(ctx, caddy.ReplacerCtxKey, caddy.NewReplacer())
|
||||||
ctx = context.WithValue(ctx, caddyhttp.VarsCtxKey, map[string]any{
|
ctx = context.WithValue(ctx, caddyhttp.VarsCtxKey, map[string]any{
|
||||||
|
@ -276,6 +277,8 @@ func (h *Handler) doActiveHealthCheck(dialInfo DialInfo, hostAddr string, upstre
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("making request: %v", err)
|
return fmt.Errorf("making request: %v", err)
|
||||||
}
|
}
|
||||||
|
ctx = context.WithValue(ctx, caddyhttp.OriginalRequestCtxKey, *req)
|
||||||
|
req = req.WithContext(ctx)
|
||||||
for key, hdrs := range h.HealthChecks.Active.Headers {
|
for key, hdrs := range h.HealthChecks.Active.Headers {
|
||||||
if strings.ToLower(key) == "host" {
|
if strings.ToLower(key) == "host" {
|
||||||
req.Host = h.HealthChecks.Active.Headers.Get(key)
|
req.Host = h.HealthChecks.Active.Headers.Get(key)
|
||||||
|
|
Loading…
Reference in a new issue