gitea/vendor/github.com/chi-middleware/proxy
Lauris BH 044cd4d016
Add reverse proxy configuration support for remote IP address (#14959)
* 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>
2021-03-16 00:27:28 +02:00
..
.drone.yml
.gitignore Add reverse proxy configuration support for remote IP address (#14959) 2021-03-16 00:27:28 +02:00
.golangci.yml Add reverse proxy configuration support for remote IP address (#14959) 2021-03-16 00:27:28 +02:00
.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.

Documentation codecov Go Report Card Build Status

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),
        },
    }))