containers without port mapped will no longer be served

This commit is contained in:
yusing
2024-10-01 17:18:17 +08:00
parent 44cfd65f6c
commit c3b779a810
11 changed files with 50 additions and 48 deletions

View File

@@ -34,15 +34,6 @@ type (
}
)
const (
xForwardedFor = "X-Forwarded-For"
xForwardedMethod = "X-Forwarded-Method"
xForwardedHost = "X-Forwarded-Host"
xForwardedProto = "X-Forwarded-Proto"
xForwardedURI = "X-Forwarded-Uri"
xForwardedPort = "X-Forwarded-Port"
)
var ForwardAuth = func() *forwardAuth {
fa := new(forwardAuth)
fa.m = new(Middleware)

View File

@@ -16,7 +16,7 @@ import (
var middlewares map[string]*Middleware
func Get(name string) (middleware *Middleware, ok bool) {
middleware, ok = middlewares[strings.ToLower(name)]
middleware, ok = middlewares[U.ToLowerNoSnake(name)]
return
}

View File

@@ -4,23 +4,32 @@ import (
"net"
)
const (
xForwardedFor = "X-Forwarded-For"
xForwardedMethod = "X-Forwarded-Method"
xForwardedHost = "X-Forwarded-Host"
xForwardedProto = "X-Forwarded-Proto"
xForwardedURI = "X-Forwarded-Uri"
xForwardedPort = "X-Forwarded-Port"
)
var SetXForwarded = &Middleware{
rewrite: func(req *Request) {
req.Header.Del("Forwarded")
req.Header.Del("X-Forwarded-For")
req.Header.Del("X-Forwarded-Host")
req.Header.Del("X-Forwarded-Proto")
req.Header.Del(xForwardedFor)
req.Header.Del(xForwardedHost)
req.Header.Del(xForwardedProto)
clientIP, _, err := net.SplitHostPort(req.RemoteAddr)
if err == nil {
req.Header.Set("X-Forwarded-For", clientIP)
req.Header.Set(xForwardedFor, clientIP)
} else {
req.Header.Del("X-Forwarded-For")
req.Header.Del(xForwardedFor)
}
req.Header.Set("X-Forwarded-Host", req.Host)
req.Header.Set(xForwardedHost, req.Host)
if req.TLS == nil {
req.Header.Set("X-Forwarded-Proto", "http")
req.Header.Set(xForwardedProto, "http")
} else {
req.Header.Set("X-Forwarded-Proto", "https")
req.Header.Set(xForwardedProto, "https")
}
},
}
@@ -28,8 +37,8 @@ var SetXForwarded = &Middleware{
var HideXForwarded = &Middleware{
rewrite: func(req *Request) {
req.Header.Del("Forwarded")
req.Header.Del("X-Forwarded-For")
req.Header.Del("X-Forwarded-Host")
req.Header.Del("X-Forwarded-Proto")
req.Header.Del(xForwardedFor)
req.Header.Del(xForwardedHost)
req.Header.Del(xForwardedProto)
},
}