By Grafana Labs Team
Letzte Aktualisierung am Februar 24, 2021
Wenn Grafana ein Unterpfad oder Unterordner unter einer Website in IIS sein soll, kann das URL Rewrite-Modul für ISS verwendet werden, um dies zu unterstützen.
Beispiel:
- Übergeordnete Website: http://localhost:8080
- Grafana: http://localhost:3000
Grafana als Unterpfad: http://localhost:8080/grafana
Setup
Wenn Sie dies noch nicht getan haben, müssen Sie das URL Rewrite module für IIS installieren.
Laden Sie das URL Rewrite-Modul für IIS herunter und installieren Sie es: https://www.iis.net/downloads/microsoft/url-rewrite
Sie benötigen außerdem das Application Request Routing (ARR) -Modul für IIS für die Proxy-Weiterleitung
Laden Sie das ARR-Modul für IIS herunter und installieren Sie es: https://www.iis.net/downloads/microsoft/application-request-routing
Grafana-Konfiguration
Die Grafana-Konfiguration kann durch Erstellen einer Datei mit dem Namen custom.ini
im Unterverzeichnis conf
Ihrer Grafana-Installation festgelegt werden. Weitere Informationen finden Sie in der Installationsanleitung.
Da der Unterpfad grafana
und die übergeordnete Site localhost:8080
sein sollte, fügen Sie dies der Konfigurationsdatei custom.ini
hinzu:
domain = localhost:8080root_url = %(protocol)s://%(domain)s/grafana/
Starten Sie den Grafana Server neu, nachdem Sie die Konfigurationsdatei geändert haben.
IIS-Konfiguration
Proxy weiterleiten
- Öffnen Sie den IIS-Manager und klicken Sie auf den Server
- Doppelklicken Sie in der Administratorkonsole für den Server auf die Option Application Request Routing:
- Klicken Sie im rechten Bereich auf die Aktion
Server Proxy Settings
- Aktivieren Sie das Kontrollkästchen
Enable proxy
, damit es aktiviert ist - Klicken Sie auf
Apply
und fahren Sie mit der Konfiguration zum Umschreiben von URLs fort
Hinweis: Wenn Sie den Forward-Proxy nicht aktivieren, wird höchstwahrscheinlich 404 Not Found angezeigt, wenn regel
URL Rewriting
- Öffnen Sie den IIS-Manager und klicken Sie auf die übergeordnete Website
- Doppelklicken Sie in der Admin Console für diese Website auf die Option URL Rewrite:
- Klicken Sie auf die Aktion
Add Rule(s)...
- Wählen Sie die leere Regelvorlage für eine eingehende Regel
- Erstellen Sie eine eingehende Regel für die übergeordnete Website (localhost: 8080 in diesem Beispiel) mit den folgenden Einstellungen:
- muster:
grafana(/)?(.*)
- aktivieren Sie das Kontrollkästchen
Ignore case
- URL umschreiben auf
http://localhost:3000/{R:2}
- Aktivieren Sie das Kontrollkästchen
Append query string
- Aktivieren Sie das Kontrollkästchen
Stop processing of subsequent rules
Navigieren Sie schließlich zu http://localhost:8080/grafana
(ersetzen Sie http://localhost:8080
durch Ihre übergeordnete Domain) und Sie sollten zur Grafana-Anmeldeseite gelangen.
Fehlerbehebung
404 Fehler
Wenn Sie zur Grafana-URL navigieren (http://localhost:8080/grafana
im obigen Beispiel) und ein HTTP Error 404.0 - Not Found
Fehler zurückgegeben wird, wird entweder:
- das Muster für die eingehende Regel ist falsch. Bearbeiten Sie die Regel, klicken Sie auf die Schaltfläche
Test pattern...
, testen Sie den Teil der URL nachhttp://localhost:8080/
und stellen Sie sicher, dass er übereinstimmt. Fürgrafana/login
sollte der Test 3 Erfassungsgruppen zurückgeben: {R:0}:grafana
{R:1}:/
und {R:2}:login
. - Die Einstellung
root_url
in der Grafana-Konfigurationsdatei stimmt nicht mit der übergeordneten URL mit Unterpfad überein.
Die Grafana-Website zeigt nur Text ohne Bilder oder CSS an
-
Die Einstellung
root_url
in der Grafana-Konfigurationsdatei stimmt nicht mit der übergeordneten URL mit dem Unterpfad überein. Dies kann passieren, wenn die root_url versehentlich auskommentiert wird (;
wird zum Auskommentieren einer Zeile in verwendet.ini-Dateien):; root_url = %(protocol)s://%(domain)s/grafana/
-
oder wenn der Unterpfad in der Einstellung
root_url
nicht mit dem Unterpfad übereinstimmt, der im Muster in der eingehenden Regel in IIS verwendet wird:root_url = %(protocol)s://%(domain)s/grafana/
muster in der eingehenden Regel:
wrongsubpath(/)?(.*)
-
oder wenn die Rewrite-URL in der eingehenden Regel falsch ist.
Die Rewrite-URL sollte den Unterpfad nicht enthalten.
Die Rewrite-URL sollte die Erfassungsgruppe aus dem Mustervergleich enthalten, der den Teil der URL nach dem Unterpfad zurückgibt. Das oben verwendete Muster gibt 3 Erfassungsgruppen zurück und die dritte {R:2} gibt den Teil der URL nach
http://localhost:8080/grafana/
zurück.