Faire en sorte que Discourse voie l'adresse IP du serveur Prometheus

Merci !

cloudflare.template.yml a été activé. :slight_smile: Mais si j’ai bien compris, cela servait uniquement à désactiver la limitation du débit pour le trafic provenant des adresses IP de Cloudflare.

Pour l’instant, voici à quoi ressemble ma configuration Prometheus :

scrape_configs:
        - job_name: forum
          scrape_interval: 5s
          scheme: https
          static_configs:
                  - targets:
                          - forum-behind-cloudflare-dns-proxy.com

Le problème que je rencontre actuellement est que Discourse ne parvient pas à voir l’adresse IP réelle d’une requête. Ainsi, pour que l’approche de la liste blanche fonctionne, j’ai essayé ceci :

  1. J’ai ajouté l’adresse IPv6 de mon serveur Prometheus à la variable d’environnement DISCOURSE_PROMETHEUS_TRUSTED_IP_WHITELIST_REGEX dans app.yml.

  2. J’ai codé en dur l’adresse IPv6 réelle du forum dans /etc/hosts sur le serveur Prometheus. Maintenant, le forum peut voir l’adresse IP de mon serveur Prometheus et lui accorder l’accès. :slight_smile:

J’ai encore d’autres problèmes. Par exemple, j’exécute Prometheus dans un conteneur. Le fichier /etc/hosts de l’hôte n’est pas partagé à l’intérieur du conteneur. Ainsi, il continue de résoudre l’adresse du forum vers une adresse IP Cloudflare et échoue lors de l’authentification.

Je pourrais partager /etc/hosts de l’hôte dans le conteneur Docker avec -v /etc/hosts:/etc/hosts au démarrage de Prometheus, mais cela entraîne une erreur comme :

Get "https://forum-behind-cloudflare-dns-proxy.com:443/metrics": dial tcp [<ipv6-address>]:443: connect: cannot assign requested address

Maintenant, je dois simplement résoudre ce problème.

Édition n°1 : J’ai aussi trouvé la solution. IPv6 était désactivé à l’intérieur du conteneur Docker. Je peux le corriger en activant IPv6 dans le conteneur Docker ou simplement en utilisant --net=host.