Skip to content

reverseproxy: restrict active health-check redirects to same origin - #8243

Open
steadytao wants to merge 1 commit into
masterfrom
active-health-redirect-origin-policy
Open

steadytao wants to merge 1 commit into
masterfrom
active-health-redirect-origin-policy

Conversation

@steadytao

@steadytao steadytao commented Oct 17, 2026 •

Copy link
Copy Markdown
Member

Closes #8222 - Supersedes #8223
Docs caddyserver/website#585

Summary

Follow active health-check redirects only while the destination remains within the original origin. Reject changes to the scheme, host or effective port before issuing another request because the configured health-check transport may contain credentials which cannot be safely removed from arbitrary transport modules.

This prevents both previous failure modes of redirected requests are no longer sent back to the original backend, and custom health headers or transport credentials are not forwarded to a cross-origin target. Relative and absolute same-origin redirects remain supported. Origin comparison handles case-insensitive hostnames, IPv6 addresses and explicit default HTTP and HTTPS ports.

Assistance Disclosure

Used Claude to review all commits since 2.11.4 for issues as there has been a couple regression-like things recently that I and others have let through. Found this. Code authored by me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug 🐞 Something isn't working documentation 📚 Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

reverseproxy: health-check redirects still dial the original upstream

1 participant