forked from Shiloh/githaven
044cd4d016
* Add reverse proxy configuration support for remote IP address validation * Trust all IP addresses in containerized environments by default * Use single option to specify networks and proxy IP addresses. By default trust all loopback IPs Co-authored-by: techknowlogick <techknowlogick@gitea.io> |
||
---|---|---|
.. | ||
.drone.yml | ||
.gitignore | ||
.golangci.yml | ||
.revive.toml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
middleware.go | ||
options.go | ||
README.md |
Chi proxy middleware
Forwarded headers middleware to use if application is run behind reverse proxy.
Usage
Import using:
import "github.com/chi-middleware/proxy"
Use middleware with default options (trusted from proxy 127.0.0.1
and trusts only last IP address provided in header):
r := chi.NewRouter()
r.Use(proxy.ForwardedHeaders())
Extend default options:
r := chi.NewRouter()
r.Use(proxy.ForwardedHeaders(
proxy.NewForwardedHeadersOptions().
WithForwardLimit(2).
ClearTrustedProxies().AddTrustedProxy("10.0.0.1"),
))
Provide custom options:
r := chi.NewRouter()
r.Use(proxy.ForwardedHeaders(&ForwardedHeadersOptions{
ForwardLimit: 1,
TrustedProxies: []net.IP{
net.IPv4(10, 0, 0, 1),
},
}))