mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 19:45:25 +01: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),
 | |
|         },
 | |
|     }))
 | |
| ```
 |