CloudFlare et IP réelle

J’essaie d’afficher les vraies adresses IP dans Discourse sans grand succès. J’ai ajouté le fichier yml de Cloudflare à ma configuration et j’ai validé que le fichier discourse.conf dans le conteneur contient les bonnes lignes :

set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header CF-Connecting-IP;

J’ai également validé que $http_cf_connecting_ip contient la bonne IP dans les logs, mais pour une raison quelconque, $remote_addr n’est pas correctement défini. Quelqu’un d’autre a-t-il rencontré ce problème ?

Utiliser le modèle Cloudflare?

Ajouter

  - "templates/cloudflare.template.yml"

à votre app.yml là où se trouvent les autres modèles.

1 « J'aime »

Merci pour votre réponse ! J’utilise le modèle Cloudflare. Après avoir creusé un peu plus, il semble que cela ne fonctionne pas car toutes les adresses remote_addr arrivant sur Nginx sont des adresses Docker. J’essaie de comprendre pourquoi.

Utilisez-vous également un serveur proxy inverse local ? Si c’est le cas, vous devrez ajouter cette adresse à votre configuration set_real_ip (et peut-être que le proxy inverse gérera les trucs de Cloudflare ?)

Je n’exécute pas intentionnellement de proxy inverse, mais j’ai spécifié une adresse IP spécifique pour exposer les ports dans mon fichier app.yml.

expose:
  - "xxx.xxx.xxx.xxx:80:80"    # http
  - "xxx.xxx.xxx.xxx:443:443"  # https

Je ne sais pas. Peut-être que vous devez inclure des adresses IP Docker ?

L’adresse IP affichée par Discourse est-elle une adresse IP Docker ?

2 « J'aime »

Avez-vous suivi l’installation standard ? Cela fonctionne généralement immédiatement avec le modèle.

2 « J'aime »

Merci à vous deux pour votre aide ! Il s’est avéré qu’Immunify360 sur notre VPS s’injectait comme un proxy avant le conteneur. L’ajout de l’IP Docker à la configuration set_real_ip_from a temporairement résolu le problème pendant que je cherche comment désactiver Immunify.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.