Reverse proxy X-Forwarded-For

Utilisez-vous une configuration à deux conteneurs ?

Je ne pense pas qu’il existe de variable d’environnement intégrée pour les adresses IP de l’équilibreur de charge personnalisé, car nginx ne lit pas nativement ces variables pour le bloc server.

De plus, si vous avez modifié manuellement la configuration de nginx à l’intérieur du conteneur en cours d’exécution, elle sera effacée la prochaine fois que vous reconstruirez.

Je pense que pour rendre cela permanent et survivre aux reconstructions, vous devez utiliser la commande replace dans votre fichier app.yml (ou web_only.yml si vous avez une configuration à deux conteneurs) — descendez tout en bas de votre fichier .yml jusqu’à la section run: et ajoutez ce bloc. Cela indique au constructeur de Discourse d’injecter automatiquement vos paramètres d’adresse IP réelle après l’ouverture du bloc server { :

run:
  - replace:
      filename: /etc/nginx/conf.d/discourse.conf
      from: /server.+{/
      to: |
        server {
          set_real_ip_from 192.168.1.100; ## Remplacez par l'adresse IP/sous-réseau réelle de votre équilibreur de charge
          real_ip_header X-Forwarded-For;
          real_ip_recursive on;