Si has tomado medidas que no están listadas en la instalación de Cloud, por definición no es una «instalación vanilla».
La plantilla de Cloudflare no hace nada obvio para interferir con una redirección:
run:
- file:
path: /tmp/add-cloudflare-ips
chmod: +x
contents: |
#!/bin/bash -e
# Descargar lista de IPs 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 a comandos de nginx y escapar para incluirlos en el comando sed append
CONTENTS=$(</tmp/cloudflare-ips sed 's/^/set_real_ip_from /' | sed 's/$/;/' | tr '\n' '\\' | sed 's/\\/\\n/g')
echo IPs de CloudFlare:
echo $(echo | sed "/^/a $CONTENTS")
# Insertar en discourse.conf
sed -i "/sendfile on;/a $CONTENTS\nreal_ip_header CF-Connecting-IP;" /etc/nginx/conf.d/discourse.conf
# Limpiar
rm /tmp/cloudflare-ips
- exec: "/tmp/add-cloudflare-ips"
- exec: "rm /tmp/add-cloudflare-ips"
Obtiene los rangos de IP, los almacena temporalmente como cloudflare-ips y agrega soporte para CF-Connecting-IP.