Utiliser IIS avec Réécriture d’URL en tant que proxy inverse

Si vous souhaitez que Grafana soit un sous-chemin ou un sous-dossier sous un site Web dans IIS, le module de réécriture d’URL pour ISS peut être utilisé pour le prendre en charge.

Exemple:

  • Site parent: http://localhost:8080
  • Grafana: http://localhost:3000

Grafana comme sous-chemin: http://localhost:8080/grafana

Setup

Si vous ne l’avez pas déjà fait, il est nécessaire d’installer le module de réécriture d’URL pour IIS.

Téléchargez et installez le module de réécriture d’URL pour IIS: https://www.iis.net/downloads/microsoft/url-rewrite

Vous aurez également besoin du module ARR (Application Request Routing) pour IIS pour le transfert de proxy

Télécharger et installer le module ARR pour IIS: https://www.iis.net/downloads/microsoft/application-request-routing

Configuration Grafana

La configuration Grafana peut être définie en créant un fichier nommé custom.ini dans le sous-répertoire conf de votre installation Grafana. Voir les instructions d’installation pour plus de détails.

Étant donné que le sous-chemin doit être grafana et que le site parent est localhost:8080, ajoutez-le au fichier de configuration custom.ini:

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

Redémarrez le serveur Grafana après avoir modifié le fichier de configuration.

Configuration IIS

Proxy direct

  1. Ouvrez le Gestionnaire IIS et cliquez sur le serveur
  2. Dans la console d’administration du serveur, double-cliquez sur l’option de routage des demandes d’application:
  3. Cliquez sur l’action Server Proxy Settings dans le volet de droite
  4. Cochez la case Enable proxy pour qu’elle soit activée
  5. Cliquez sur Apply et procédez à la configuration de réécriture d’URL

Remarque : Si vous n’activez pas le proxy de transfert, vous obtiendrez très probablement 404 Introuvable si vous appliquez uniquement la réécriture d’URL règle

Réécriture d’URL

  1. Ouvrez le gestionnaire IIS et cliquez sur le site Web parent
  2. Dans la console d’administration de ce site Web, double-cliquez sur l’option Réécriture d’URL:

  1. Cliquez sur l’action Add Rule(s)...
  2. Choisissez le modèle de règle vide pour une règle Entrante

  1. Créez une règle entrante pour le site Web parent (localhost: 8080 dans cet exemple) avec les paramètres suivants:
  • modèle: grafana(/)?(.*)
  • cochez la case Ignore case
  • réécrire l’URL définie sur http://localhost:3000/{R:2}
  • cochez la case Append query string
  • cochez la case Stop processing of subsequent rules

Enfin, accédez à http://localhost:8080/grafana (remplacez http://localhost:8080 par votre domaine parent) et vous devriez accéder à la page de connexion Grafana.

Dépannage

404 erreur

Lors de la navigation vers l’URL Grafana (http://localhost:8080/grafana dans l’exemple ci-dessus) et une erreur HTTP Error 404.0 - Not Found est renvoyée alors soit:

  • le modèle de la règle entrante est incorrect. Modifiez la règle, cliquez sur le bouton Test pattern..., testez la partie de l’URL après http://localhost:8080/ et assurez-vous qu’elle correspond. Pour grafana/login, le test doit renvoyer 3 groupes de capture : {R:0} : grafana {R:1} : / et {R:2}: login.
  • Le paramètre root_url du fichier de configuration Grafana ne correspond pas à l’URL parent avec le sous-chemin.

Le site Web de Grafana affiche uniquement du texte sans images ni css

  1. Le paramètre root_url dans le fichier de configuration Grafana ne correspond pas à l’URL parent avec le sous-chemin. Cela peut se produire si le root_url est commenté par erreur (; est utilisé pour commenter une ligne.fichiers ini):

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

  2. ou si le sous-chemin du paramètre root_url ne correspond pas au sous-chemin utilisé dans le modèle de la règle entrante dans IIS:

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

    modèle dans la règle Entrante: wrongsubpath(/)?(.*)

  3. ou si l’URL de réécriture dans la règle entrante est incorrecte.

    L’URL de réécriture ne doit pas inclure le sous-chemin.

    L’URL de réécriture doit contenir le groupe de capture du modèle correspondant qui renvoie la partie de l’URL après le sous-chemin. Le modèle utilisé ci-dessus renvoie 3 groupes de capture et le troisième {R:2} renvoie la partie de l’URL après http://localhost:8080/grafana/.

You might also like

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.