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 
Applyund 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/loginsollte der Test 3 Erfassungsgruppen zurückgeben: {R:0}:grafana{R:1}:/und {R:2}:login. - Die Einstellung 
root_urlin 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_urlin 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_urlnicht 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.