web-dev-qa-db-fra.com

Comment proxy / grafana avec nginx?

J'ai configuré et démarré grafana par défaut et cela fonctionne comme prévu sur http: // localhost: 30 . J'essaie de le proxy avec nginx où j'ai installé SSL. J'essaie de le faire répondre à https: // localhost/grafana mais il sert juste ce qui suit:

{{alert.title}}

J'ai ceci dans mon bloc serveur nginx:

location /grafana {
     proxy_pass         http://localhost:3000;
     proxy_set_header   Host $Host;
}
16
AXE Labs

Il semble que nginx supporte la réécriture des requêtes sur le serveur mandaté, donc la mise à jour de la configuration pour cela a fonctionné:

location /grafana {
     proxy_pass         http://localhost:3000;
     rewrite  ^/grafana/(.*)  /$1 break;
     proxy_set_header   Host $Host;
}

Mon grafana.ini a également une racine mise à jour:

[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana
27
AXE Labs

En ajoutant à la réponse @ AX-Labs, vous n'avez pas besoin de réécrire l'URL.

nginx.conf

location /grafana/ {
     proxy_pass         http://localhost:3000/;
     proxy_set_header   Host $Host;
}

grafana.ini update root:

[server]
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana/

Remarquez le supplément/dans le bloc d'emplacement, qui fait toute la différence.

Si vous souhaitez voir l'intégralité du fichier, veuillez visiter https://Gist.github.com/mvadu/5fbb7f5676ce31f2b1e6 où j'ai la configuration du proxy Rever pour Infludb ainsi que grafana.

10
Adarsha

J'ai eu le même problème lors de l'utilisation de nginx et grafana sur docker, dans deux conteneurs différents. Passé les options suivantes pour docker-composer sur le service grafana, en suivant http://docs.grafana.org/installation/behind_proxy/#nginx-configuration-with-sub-path :

- GF_SERVER_DOMAIN=foo.bar.com
- GF_SERVER_ROOT_URL=%(protocol)s://%(domain)s:/grafana

Mais cela n'a pas fonctionné, et la console de mon navigateur affiche: net::ERR_CONTENT_LENGTH_MISMATCH.

Donc, pour y remédier, j'ai ajouté la ligne suivante à ma configuration nginx:

location /grafana/ {
  proxy_pass http://monitoring_grafana:3000/;
  proxy_max_temp_file_size 0; # THIS MADE THE TRICK!
}
3
boris quiroz

Pour info:

root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana

provoque des erreurs de proxy pour certains appels d'API. Je trouve:

root_url = %(protocol)s://%(domain)s:/grafana
0
JasonfromDR