Merci !
cloudflare.template.yml a été activé.
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 :
-
J’ai ajouté l’adresse IPv6 de mon serveur Prometheus à la variable d’environnement
DISCOURSE_PROMETHEUS_TRUSTED_IP_WHITELIST_REGEXdansapp.yml. -
J’ai codé en dur l’adresse IPv6 réelle du forum dans
/etc/hostssur le serveur Prometheus. Maintenant, le forum peut voir l’adresse IP de mon serveur Prometheus et lui accorder l’accès.
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.