Utilizzare IIS con URL Rewrite come reverse proxy

Se vuoi Grafana essere un sottotracciato o sottocartella di un sito web in IIS l’URL Rewrite module per la ISS può essere utilizzato per il supporto.

Esempio:

  • Sito principale: http://localhost:8080
  • Grafana: http://localhost:3000

Grafana come sottopassaggio: http://localhost:8080 / grafana

Setup

Se non l’hai già fatto, è necessario installare il modulo URL Rewrite per IIS.

Scarica e installa il modulo di riscrittura URL per IIS: https://www.iis.net/downloads/microsoft/url-rewrite

È inoltre necessario il modulo ARR (Application Request Routing) per IIS per l’inoltro proxy

Scaricare e installare il modulo ARR per IIS: https://www.iis.net/downloads/microsoft/application-request-routing

Grafana Config

La configurazione di Grafana può essere impostata creando un file denominato custom.ini nella sottodirectory conf dell’installazione di Grafana. Vedere le istruzioni di installazione per maggiori dettagli.

Dato che il subpath dovrebbe essere grafana e il sito padre è localhost:8080, aggiungi questo al file di configurazione custom.ini :

domain = localhost:8080root_url = %(protocol)s://%(domain)s/grafana/

Riavviare il server Grafana dopo aver modificato il file di configurazione.

IIS Config

Forward Proxy

  1. Aprire il Gestore IIS e fare clic sul server
  2. Nella console di amministrazione per il server, fare doppio clic sull’opzione di instradamento richiesta applicazione:
  3. Clic su Server Proxy Settings azione sulla destra del riquadro
  4. Selezionare Enable proxy casella di controllo in modo che sia abilitato
  5. fare Clic su Apply e procedere con la Riscrittura dell’URL di configurazione

Nota: Se non si attiva il Proxy di Inoltro, sarà più probabile ottenere 404 Non Trovato se si applicano solo le regole di Riscrittura degli URL

la Riscrittura dell’URL

  1. Aprire Gestione IIS e fare clic sul sito web principale
  2. Nella console di amministrazione di questo sito web, fare doppio clic sull’URL Rewrite opzione:

  1. fare Clic su Add Rule(s)... azione
  2. Scegli il Vuoto del modello di Regola per una Regola in Entrata

  1. Creare una Regola in Entrata per il sito web principale (localhost:8080 in questo esempio) con le seguenti impostazioni:
  • modello: grafana(/)?(.*)
  • leggi Ignore case casella di controllo
  • riscrivere URL impostato su http://localhost:3000/{R:2}
  • leggi Append query string casella di controllo
  • leggi Stop processing of subsequent rules casella di controllo

Infine, accedere a http://localhost:8080/grafana (sostituire http://localhost:8080 con il tuo dominio padre) e si dovrebbe giungere alla Grafana pagina di login.

Risoluzione dei problemi

404 errore

Quando si naviga verso l’URL Grafana (http://localhost:8080/grafana nell’esempio sopra) e viene restituito un errore HTTP Error 404.0 - Not Found quindi:

  • il modello per la regola in entrata non è corretto. Modificare la regola, fare clic sul pulsante Test pattern..., testare la parte dell’URL dopo http://localhost:8080/ e assicurarsi che corrisponda. Per grafana/login il test dovrebbe restituire 3 gruppi di cattura: {R:0}: grafana {R:1}: / e {R:2}: login.
  • L’impostazione root_url nel file di configurazione di Grafana non corrisponde all’URL padre con il subpath.

Il sito Web di Grafana mostra solo testo senza immagini o css

  1. L’impostazione root_url nel file di configurazione di Grafana non corrisponde all’URL padre con il subpath. Ciò potrebbe accadere se root_url viene commentato per errore (; viene utilizzato per commentare una riga .file ini):

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

  2. o se il subpath nel root_url impostazione non corrisponde l’subpath utilizzato nel modello in Regola di Entrata in IIS:

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

    modello in Regola in Entrata: wrongsubpath(/)?(.*)

  3. o se l’URL Rewrite in Regola in Entrata non è corretto.

    L’URL di riscrittura non deve includere il sottotraccia.

    L’URL di riscrittura deve contenere il gruppo di acquisizione dal pattern matching che restituisce la parte dell’URL dopo il sottotraccia. Il modello usato sopra restituisce 3 gruppi di acquisizione e il terzo {R:2} restituisce la parte dell’URL dopo http://localhost:8080/grafana/.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.