Honour forwarded headers only from trusted proxies (closes #259)
check / check (push) Failing after 8s
check / check (push) Failing after 8s
Before, the server took the client's address from X-Forwarded-For or X-Real-IP whoever sent them, so a direct client could get past the login rate limit and choose the address and hostname recorded for its session. A new ClientIP middleware, run before request logging, resolves the address once: forwarded headers count only when the peer is in TRUSTED_PROXIES, which defaults to the RFC 1918 ranges. A set list replaces the default, the empty string trusts nothing, and an invalid entry stops startup. The request log, login rate limiter and session creation all use the resolved address. A proxy on the same host as a server outside Docker connects from 127.0.0.1 or ::1, which the default does not trust; the README says to list it. Model: opus-5-5
This commit was merged in pull request #264.
This commit is contained in:
1 parent
bc8aa6bb96
commit
a3d9bbfd81
10 files changed
+670
-46
No files matched your search
Reference in new issue
Block a user