.drone.yml
Initial implementation.gitignore
Add license and copyright headers.golangci.yml
Initial implementation.revive.toml
Initial implementationgo.mod
Add option to trust all proxies and upgrade go-chi versiongo.sum
Add option to trust all proxies and upgrade go-chi versionLICENSE
Add license and copyright headersMakefile
Initial implementationmiddleware_test.go
Treat unix socket address as connection from localhostmiddleware.go
Treat unix socket address as connection from localhostoptions.go
Add option to trust all proxies and upgrade go-chi versionREADME.md
Add option to trust all proxies and upgrade go-chi versionChi 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),
},
}))