internal: restore /ping behaviour for embedded outpost (#11568)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
		| @ -6,6 +6,7 @@ import ( | ||||
| 	"errors" | ||||
| 	"net" | ||||
| 	"net/http" | ||||
| 	"strings" | ||||
| 	"sync" | ||||
|  | ||||
| 	sentryhttp "github.com/getsentry/sentry-go/http" | ||||
| @ -70,12 +71,20 @@ func NewProxyServer(ac *ak.APIController) *ProxyServer { | ||||
| } | ||||
|  | ||||
| func (ps *ProxyServer) HandleHost(rw http.ResponseWriter, r *http.Request) bool { | ||||
| 	// Always handle requests for outpost paths that should answer regardless of hostname | ||||
| 	if strings.HasPrefix(r.URL.Path, "/outpost.goauthentik.io/ping") || | ||||
| 		strings.HasPrefix(r.URL.Path, "/outpost.goauthentik.io/static") { | ||||
| 		ps.mux.ServeHTTP(rw, r) | ||||
| 		return true | ||||
| 	} | ||||
| 	// lookup app by hostname | ||||
| 	a, _ := ps.lookupApp(r) | ||||
| 	if a == nil { | ||||
| 		return false | ||||
| 	} | ||||
| 	// check if the app should handle this URL, or is setup in proxy mode | ||||
| 	if a.ShouldHandleURL(r) || a.Mode() == api.PROXYMODE_PROXY { | ||||
| 		a.ServeHTTP(rw, r) | ||||
| 		ps.mux.ServeHTTP(rw, r) | ||||
| 		return true | ||||
| 	} | ||||
| 	return false | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Jens L.
					Jens L.