Categorygithub.com/chi-middleware/proxy
modulepackage
1.1.1
Repository: https://github.com/chi-middleware/proxy.git
Documentation: pkg.go.dev

# README

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

# Functions

ForwardedHeaders is a middleware that sets a http.Request's RemoteAddr to the results of parsing either the X-Real-IP header or the X-Forwarded-For header (in that order).
NewForwardedHeadersOptions creates new middleware options.

# Structs

ForwardedHeadersOptions represents options for forwarded header middleware.