Mam skonfigurowane i uruchomiłem domyślną grafana i działa zgodnie z oczekiwaniami na http: // localhost: 3000 . Usiłuję proxy w nginx, gdzie mam zainstalowany ssl. Usiłuję uzyskać odpowiedź na https: // localhost / grafana, ale służy tylko:
{{alert.title}}
Mam to w moim bloku serwera nginx:
location /grafana {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
}
Authorization
nagłówek o tymproxy_set_header Authorization "";
w swoim proxy bloku lokalizacji, inaczej Grafana będzie nalegać na ponowne używanie tych poświadczeń dla połączeń ze źródłem danych.proxy_pass
dołączanie identyfikatora URI, takiego jak/
, w przeciwnym razie żądanie zostanie przekazane w niezmienionej formie (wyjaśnienie znajduje się również na stronie nginx.com/resources/admin-guide/reverse-proxy ). Tak więc konfiguracja powinna byćproxy_pass http://localhost:3000/;
dokładnie taka, jak podaje dokumentacja grafana.Dodając odpowiedź @ AX-Labs, nie musisz przepisywać adresu URL.
Zwróć uwagę na dodatkowy / w bloku lokalizacji, który robi różnicę.
Jeśli chcesz zobaczyć cały plik, odwiedź https://gist.github.com/mvadu/5fbb7f5676ce31f2b1e6, gdzie mam konfigurację proxy proxy dla Infludb oraz grafana.
źródło
http://localhost:3000/;
również ważne.%(protocol)s://%(domain)s:%(http_port)s/grafana/
- wszystkie lokalizacje powinny mieć ukośnik końcowy.Mam ten sam problem, gdy używam nginx i grafana na dokerze, w dwóch różnych kontenerach. Przeszedł następujące opcje, aby dokować-komponować w usłudze grafana, postępując zgodnie z http://docs.grafana.org/installation/behind_proxy/#nginx-configuration-w--sub-path :
Ale to nie działa i pokazuje konsoli mojego przeglądarki:
net::ERR_CONTENT_LENGTH_MISMATCH
.Aby to naprawić, dodałem następujący wiersz do mojej konfiguracji nginx:
źródło
FYI:
root_url = %(protocol)s://%(domain)s:%(http_port)s/grafana
powoduje błędy proxy dla niektórych wywołań API. Znajduję:
źródło