# [Chi](https://github.com/go-chi/chi) proxy middleware Forwarded headers middleware to use if application is run behind reverse proxy. [](https://pkg.go.dev/github.com/chi-middleware/proxy) [](https://codecov.io/gh/chi-middleware/proxy) [](https://goreportcard.com/report/github.com/chi-middleware/proxy) [](https://cloud.drone.io/chi-middleware/proxy) ## Usage Import using: ```go 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): ```go r := chi.NewRouter() r.Use(proxy.ForwardedHeaders()) ``` Extend default options: ```go r := chi.NewRouter() r.Use(proxy.ForwardedHeaders( proxy.NewForwardedHeadersOptions(). WithForwardLimit(2). ClearTrustedProxies().AddTrustedProxy("10.0.0.1"), )) ``` Provide custom options: ```go r := chi.NewRouter() r.Use(proxy.ForwardedHeaders(&ForwardedHeadersOptions{ ForwardLimit: 1, TrustedProxies: []net.IP{ net.IPv4(10, 0, 0, 1), }, })) ```