mirror of
https://github.com/go-gitea/gitea
synced 2025-03-04 17:54:32 +00:00
* 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>
47 lines
1.4 KiB
Markdown
Vendored
47 lines
1.4 KiB
Markdown
Vendored
# [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),
|
|
},
|
|
}))
|
|
```
|