mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Docs: making docs clearer on subpath (#82239)
* making docs clearer on subpath * Update docs/sources/tutorials/run-grafana-behind-a-proxy/index.md Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com> * Update docs/sources/tutorials/run-grafana-behind-a-proxy/index.md Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com> * Update docs/sources/tutorials/run-grafana-behind-a-proxy/index.md Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com> * Update docs/sources/tutorials/run-grafana-behind-a-proxy/index.md Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com> --------- Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
This commit is contained in:
parent
8138ca34a4
commit
1c8a2f136d
@ -34,23 +34,9 @@ domain = example.com
|
|||||||
|
|
||||||
- Restart Grafana for the new changes to take effect.
|
- Restart Grafana for the new changes to take effect.
|
||||||
|
|
||||||
You can also serve Grafana behind a _sub path_, such as `http://example.com/grafana`.
|
## Configure reverse proxy
|
||||||
|
|
||||||
To serve Grafana behind a sub path:
|
### Configure NGINX
|
||||||
|
|
||||||
1. Include the sub path at the end of the `root_url`.
|
|
||||||
1. Set `serve_from_sub_path` to `true`. Or, let proxy rewrite the path for you (refer to examples below).
|
|
||||||
|
|
||||||
```bash
|
|
||||||
[server]
|
|
||||||
domain = example.com
|
|
||||||
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
|
|
||||||
serve_from_sub_path = true
|
|
||||||
```
|
|
||||||
|
|
||||||
Next, you need to configure your reverse proxy.
|
|
||||||
|
|
||||||
## Configure NGINX
|
|
||||||
|
|
||||||
[NGINX](https://www.nginx.com) is a high performance load balancer, web server, and reverse proxy.
|
[NGINX](https://www.nginx.com) is a high performance load balancer, web server, and reverse proxy.
|
||||||
|
|
||||||
@ -129,7 +115,7 @@ server {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
If your Grafana configuration does not set `serve_from_sub_path` to true then you need to add a rewrite rule to each location block:
|
Add a rewrite rule to each location block:
|
||||||
|
|
||||||
```
|
```
|
||||||
rewrite ^/grafana/(.*) /$1 break;
|
rewrite ^/grafana/(.*) /$1 break;
|
||||||
@ -139,7 +125,7 @@ If your Grafana configuration does not set `serve_from_sub_path` to true then yo
|
|||||||
If Grafana is being served from behind a NGINX proxy with TLS termination enabled, then the `root_url` should be set accordingly. For example, if Grafana is being served from `https://example.com/grafana` then the `root_url` should be set to `https://example.com/grafana/` or `https://%(domain)s/grafana/` (and the corresponding `domain` should be set to `example.com`) in the `server` section of the Grafana configuration file. The `protocol` setting should be set to `http`, because the TLS handshake is being handled by NGINX.
|
If Grafana is being served from behind a NGINX proxy with TLS termination enabled, then the `root_url` should be set accordingly. For example, if Grafana is being served from `https://example.com/grafana` then the `root_url` should be set to `https://example.com/grafana/` or `https://%(domain)s/grafana/` (and the corresponding `domain` should be set to `example.com`) in the `server` section of the Grafana configuration file. The `protocol` setting should be set to `http`, because the TLS handshake is being handled by NGINX.
|
||||||
{{% /admonition %}}
|
{{% /admonition %}}
|
||||||
|
|
||||||
## Configure HAProxy
|
### Configure HAProxy
|
||||||
|
|
||||||
To configure HAProxy to serve Grafana under a _sub path_:
|
To configure HAProxy to serve Grafana under a _sub path_:
|
||||||
|
|
||||||
@ -150,22 +136,15 @@ frontend http-in
|
|||||||
|
|
||||||
backend grafana_backend
|
backend grafana_backend
|
||||||
server grafana localhost:3000
|
server grafana localhost:3000
|
||||||
```
|
# Requires haproxy >= 1.6
|
||||||
|
http-request set-path %[path,regsub(^/grafana/?,/)]
|
||||||
If your Grafana configuration doesn't set `server.serve_from_sub_path` to `true`, then you must add a rewrite rule to the `backend grafana_backend` block:
|
# Works for haproxy < 1.6
|
||||||
|
# reqrep ^([^\ ]*\ /)grafana[/]?(.*) \1\2
|
||||||
```diff
|
|
||||||
backend grafana_backend
|
|
||||||
+ # Requires haproxy >= 1.6
|
|
||||||
+ http-request set-path %[path,regsub(^/grafana/?,/)]
|
|
||||||
|
|
||||||
+ # Works for haproxy < 1.6
|
|
||||||
+ # reqrep ^([^\ ]*\ /)grafana[/]?(.*) \1\2
|
|
||||||
|
|
||||||
server grafana localhost:3000
|
server grafana localhost:3000
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configure IIS
|
### Configure IIS
|
||||||
|
|
||||||
> IIS requires that the URL Rewrite module is installed.
|
> IIS requires that the URL Rewrite module is installed.
|
||||||
|
|
||||||
@ -192,7 +171,7 @@ This is the rewrite rule that is generated in the `web.config`:
|
|||||||
|
|
||||||
See the [tutorial on IIS URL Rewrites](/tutorials/iis/) for more in-depth instructions.
|
See the [tutorial on IIS URL Rewrites](/tutorials/iis/) for more in-depth instructions.
|
||||||
|
|
||||||
## Configure Traefik
|
### Configure Traefik
|
||||||
|
|
||||||
[Traefik](https://traefik.io/traefik/) Cloud Native Reverse Proxy / Load Balancer / Edge Router
|
[Traefik](https://traefik.io/traefik/) Cloud Native Reverse Proxy / Load Balancer / Edge Router
|
||||||
|
|
||||||
@ -240,6 +219,18 @@ http:
|
|||||||
- url: http://192.168.30.10:3000
|
- url: http://192.168.30.10:3000
|
||||||
```
|
```
|
||||||
|
|
||||||
## Summary
|
## Alternative for serving Grafana under a sub path
|
||||||
|
|
||||||
In this tutorial you learned how to run Grafana behind a reverse proxy.
|
**Warning:** You only need this, if you do not handle the sub path serving via your reverse proxy configuration.
|
||||||
|
|
||||||
|
If you don't want or can't use the reverse proxy to handle serving Grafana from a _sub path_, you can set the config variable `server_from_sub_path` to `true`.
|
||||||
|
|
||||||
|
1. Include the sub path at the end of the `root_url`.
|
||||||
|
2. Set `serve_from_sub_path` to `true`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
[server]
|
||||||
|
domain = example.com
|
||||||
|
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/
|
||||||
|
serve_from_sub_path = true
|
||||||
|
```
|
||||||
|
Loading…
Reference in New Issue
Block a user