| * 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 | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| go.mod | ||
| go.sum | ||
| 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),
        },
    }))