¿Cómo revelo IPs reales usando CloudFlare?

Uso Cloudflare para mi foro por varias razones, pero quiero obtener la IP real de mis visitantes para tener datos precisos sobre cuántas personas se registran con esa dirección IP, y así que funciones como la prohibición por IP, etc., funcionen correctamente. ¿Existe alguna forma de hacerlo?

Necesitas agregar cloudflare.template.yml a la sección de plantillas de tu archivo app.yml.

De hecho, ahora cuando intento visitar mi sitio web, el servidor web está caído.

¿Cuál es el error? ¿Cuál es el contenido de los archivos de registro?

Si visito el foro, solo me muestra un Error 521: servidor web caído.
Esto es lo que aparecía en el archivo de registro actual:

2021-08-11 12:14:46.898 UTC [556] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 12:14:46.899 UTC [556] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 12:14:46.899 UTC [556] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 12:14:46.996 UTC [556] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 12:14:47.112 UTC [577] LOG:  database system was interrupted; last known up at 2021-08-10 14:46:03 UTC
2021-08-11 12:14:47.852 UTC [577] LOG:  database system was not properly shut down; automatic recovery in progress
2021-08-11 12:14:47.902 UTC [577] LOG:  redo starts at 0/3DFE308
2021-08-11 12:14:47.905 UTC [577] LOG:  invalid record length at 0/3E0A2D8: wanted 24, got 0
2021-08-11 12:14:47.905 UTC [577] LOG:  redo done at 0/3E0A2B0
2021-08-11 12:14:48.332 UTC [556] LOG:  database system is ready to accept connections
2021-08-11 15:09:07.632 UTC [556] LOG:  received smart shutdown request
2021-08-11 15:09:08.970 UTC [556] LOG:  background worker "logical replication launcher" (PID 585) exited with exit code 1
2021-08-11 15:09:08.973 UTC [580] LOG:  shutting down
2021-08-11 15:09:09.018 UTC [556] LOG:  database system is shut down
2021-08-11 15:14:54.109 UTC [564] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 15:14:54.110 UTC [564] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 15:14:54.110 UTC [564] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 15:14:54.132 UTC [564] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 15:14:54.136 UTC [576] LOG:  database system was shut down at 2021-08-11 15:14:20 UTC
2021-08-11 15:14:54.147 UTC [564] LOG:  database system is ready to accept connections
2021-08-11 15:48:11.435 UTC [564] LOG:  received smart shutdown request
2021-08-11 15:48:12.349 UTC [564] LOG:  background worker "logical replication launcher" (PID 582) exited with exit code 1
2021-08-11 15:48:12.349 UTC [577] LOG:  shutting down
2021-08-11 15:48:12.397 UTC [564] LOG:  database system is shut down
2021-08-11 15:48:17.233 UTC [555] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 15:48:17.233 UTC [555] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 15:48:17.233 UTC [555] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 15:48:17.245 UTC [555] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 15:48:17.255 UTC [570] LOG:  database system was shut down at 2021-08-11 15:48:12 UTC
2021-08-11 15:48:17.271 UTC [555] LOG:  database system is ready to accept connections
2021-08-11 18:24:06.544 UTC [555] LOG:  received smart shutdown request
2021-08-11 18:24:11.892 UTC [555] LOG:  background worker "logical replication launcher" (PID 576) exited with exit code 1
2021-08-11 18:24:11.895 UTC [571] LOG:  shutting down
2021-08-11 18:24:11.936 UTC [555] LOG:  database system is shut down
2021-08-11 18:59:31.940 UTC [554] LOG:  starting PostgreSQL 13.3 (Debian 13.3-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2021-08-11 18:59:31.940 UTC [554] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2021-08-11 18:59:31.940 UTC [554] LOG:  listening on IPv6 address "::", port 5432
2021-08-11 18:59:31.964 UTC [554] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-08-11 18:59:31.977 UTC [570] LOG:  database system was shut down at 2021-08-11 18:24:11 UTC
2021-08-11 18:59:32.004 UTC [554] LOG:  database system is ready to accept connections

Ese es el registro de la base de datos. ¿Puedes revisar los registros en /var/discourse/shared/standalone/log/var-log/nginx/error.log?

error.zip (123.2 KB)
El archivo error.log está dentro de este zip. Básicamente solo contiene lo mismo. (No puedo publicar el archivo .log porque no es compatible, y todo el contenido de error.log es un texto extremadamente extenso).

Parece que la plantilla de Cloudflare está rota en este momento. La última actualización fue en 2016. Por favor, elimínala y reconstrúyela. Si el tiempo lo permite, echaré un vistazo para solucionarlo.

¡De acuerdo, gracias por la ayuda!

Estoy experimentando el mismo problema, me alegra que haya una solución aquí :slight_smile:

Lo extraño es que parece afectar solo a las reconstrucciones realizadas hoy. Otros servidores (con la misma versión de Discourse - Stable 2.7.7) están funcionando correctamente.

Aunque recientemente he comenzado a recibir algunos errores extraños en varios foros (no después de una actualización):

Vaya

El software que impulsa este foro de discusión encontró un problema inesperado. Lamentamos las molestias.

Se registró información detallada sobre el error y se generó una notificación automática. Lo revisaremos.

No es necesario tomar ninguna medida adicional. Sin embargo, si la condición de error persiste, puedes proporcionar detalles adicionales, incluidos los pasos para reproducir el error, publicando un tema de discusión en la categoría de comentarios del sitio.

No estoy seguro si está relacionado; el error fue la razón por la que recientemente realicé reconstrucciones en la misma versión.

Edición: Confirmado, eliminar la plantilla de Cloudflare solucionó el error 521.

Actualización: Parece que @Zenexer creó una PR para esto: Cloudflare template broken again

Si comento la línea de la plantilla de Cloudflare en app.yml, ¿cómo afectaría eso a mi [sitio] (https://howtodiscuss.com)? Estamos usando Cloudflare en nuestro sitio.

Además, ¿es mi problema el mismo? https://meta.discourse.org/t/discourse-updated-from-admin-not-working-after-rebuild-fatal-error-site-does-not-load-anymore-after-rebuild/200443

@markersocial mi sitio se ejecuta en Cloudflare; si elimino esa línea, ¿qué le ocurrirá a mi sitio?

Por lo que sé, los usuarios tendrán registradas sus direcciones IP de registro y de uso reciente como IPs de Cloudflare en lugar de sus IPs reales. Así que, si baneas a alguien, las IPs de Cloudflare se añadirán a tu registro de baneos, lo cual no es bueno, ¿verdad?

Creo que esto significará que los usuarios no podrán iniciar sesión ni registrarse si por casualidad obtienen una de las IPs de Cloudflare baneadas (mientras la plantilla no esté disponible). Los usuarios que ya han iniciado sesión, creo, no se verán afectados. En el pasado (probablemente aún ahora, no estoy seguro), esto podría llegar a impedir que incluso administradores y moderadores inicien sesión en una nueva sesión.

Podría ser una buena decisión desactivar los registros públicos y no usar el baneo por IP hasta que la plantilla esté disponible.

ok gracias, ¿realmente crees que mi problema es el mismo que este error de la plantilla de Cloudflare? Por favor, revisa el enlace de mi tema en mi último mensaje y confírmame.

¿Qué comando de registro debo usar para diagnosticar el mismo error?

¿Y cómo te aseguraste de que tu error de recibir un 502 también se debía al mismo error de CF?

Ya está solucionado en Cloudflare template broken again - #3 by Zenexer. Por favor, inténtalo usar de nuevo.