HTTP Server: Serve Grafana with a custom URL path prefix (#17048)

Adds a new [server] setting `serve_from_sub_path`. By enabling 
this setting and using a subpath in `root_url` setting, e.g.
`root_url = http://localhost:3000/grafana`, Grafana will be accessible 
on `http://localhost:3000/grafana`. By default it is set to `false` 
for compatibility reasons.

Closes #16623
This commit is contained in:
Abhilash Gnan
2019-05-27 17:47:29 +02:00
committed by Marcus Efraimsson
parent b547a0cb34
commit 04d473b3e5
5 changed files with 31 additions and 7 deletions

View File

@@ -30,7 +30,7 @@ import (
"github.com/grafana/grafana/pkg/setting"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"gopkg.in/macaron.v1"
macaron "gopkg.in/macaron.v1"
)
func init() {
@@ -227,6 +227,10 @@ func (hs *HTTPServer) addMiddlewaresAndStaticRoutes() {
m.Use(middleware.AddDefaultResponseHeaders())
if setting.ServeFromSubPath && setting.AppSubUrl != "" {
m.SetURLPrefix(setting.AppSubUrl)
}
m.Use(macaron.Renderer(macaron.RenderOptions{
Directory: path.Join(setting.StaticRootPath, "views"),
IndentJSON: macaron.Env != macaron.PROD,