Verwenden Sie IIS mit URL Rewrite als Reverse Proxy

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

  1. Öffnen Sie den IIS-Manager und klicken Sie auf den Server
  2. Doppelklicken Sie in der Administratorkonsole für den Server auf die Option Application Request Routing:
  3. Klicken Sie im rechten Bereich auf die Aktion Server Proxy Settings
  4. Aktivieren Sie das Kontrollkästchen Enable proxy, damit es aktiviert ist
  5. 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

  1. Öffnen Sie den IIS-Manager und klicken Sie auf die übergeordnete Website
  2. Doppelklicken Sie in der Admin Console für diese Website auf die Option URL Rewrite:

  1. Klicken Sie auf die Aktion Add Rule(s)...
  2. Wählen Sie die leere Regelvorlage für eine eingehende Regel

  1. 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 nach http://localhost:8080/ und stellen Sie sicher, dass er übereinstimmt. Für grafana/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

  1. 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/

  2. 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(/)?(.*)

  3. 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.

You might also like

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.