Chi proxy middleware
Forwarded headers middleware to use if application is run behind reverse proxy.
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),
},
}))