aboutsummaryrefslogtreecommitdiff
path: root/http_server.go
diff options
context:
space:
mode:
Diffstat (limited to 'http_server.go')
-rw-r--r--http_server.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/http_server.go b/http_server.go
index c86dae6..6531748 100644
--- a/http_server.go
+++ b/http_server.go
@@ -16,7 +16,18 @@ import (
type forgeHTTPRouter struct{}
func (router *forgeHTTPRouter) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
- clog.Info("Incoming HTTP: " + request.RemoteAddr + " " + request.Method + " " + request.RequestURI)
+ var remoteAddr string
+ if config.HTTP.ReverseProxy {
+ remoteAddrs, ok := request.Header["X-Forwarded-For"]
+ if ok && len(remoteAddrs) == 1 {
+ remoteAddr = remoteAddrs[0]
+ } else {
+ remoteAddr = request.RemoteAddr
+ }
+ } else {
+ remoteAddr = request.RemoteAddr
+ }
+ clog.Info("Incoming HTTP: " + remoteAddr + " " + request.Method + " " + request.RequestURI)
var segments []string
var err error