Si vous avez effectué des étapes qui ne figurent pas dans l’installation Cloud, ce n’est pas, par définition, une « installation vanilla ».
Le modèle Cloudflare ne fait rien d’évident pour interférer avec une redirection :
run:
- file:
path: /tmp/add-cloudflare-ips
chmod: +x
contents: |
#!/bin/bash -e
# Télécharger la liste des adresses IP de CloudFlare
wget https://www.cloudflare.com/ips-v4/ -O - > /tmp/cloudflare-ips
wget https://www.cloudflare.com/ips-v6/ -O - >> /tmp/cloudflare-ips
# Convertir en commandes nginx et échapper pour inclusion dans la commande d'ajout sed
CONTENTS=$(< /tmp/cloudflare-ips sed 's/^/set_real_ip_from /' | sed 's/$/;/' | tr '\n' '\\' | sed 's/\\/\\n/g')
echo Adresses IP CloudFlare :
echo $(echo | sed "/^/a $CONTENTS")
# Insérer dans discourse.conf
sed -i "/sendfile on;/a $CONTENTS\nreal_ip_header CF-Connecting-IP;" /etc/nginx/conf.d/discourse.conf
# Nettoyage
rm /tmp/cloudflare-ips
- exec: "/tmp/add-cloudflare-ips"
- exec: "rm /tmp/add-cloudflare-ips"
Il récupère les plages d’adresses IP, les stocke temporairement sous le nom cloudflare-ips et ajoute le support pour CF-Connecting-IP.