the discourse don’t it does not support the x-forwarded field and therefore shows me all the time the ip address of my reverse proxy when we look for example from which ip the user is registering etc …
I sniff the request on discourse and the X-forwarder is present but in access.log the IP view is the reverse proxy
I view on interne il necessary to change the configuration template or de configuration file nginx for Discourse (not nginx on NPM)
do you help me for this ? because the discourse activate de tempalte web.ratelimite and send most error 429
Tengo un servidor Debian con Apache 2.4 vHosts y uno de estos vHosts es el contenedor Docker de Discourse. En Apache, mod_remoteip está habilitado (no había mod_extract_forwarded), pero sin ninguna opción de configuración. La configuración del vHost es bastante simple:
RequestHeader set X-Forwarded-Proto "https"
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /.well-known !
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
8083 es el puerto http expuesto del contenedor Docker de Discourse.
Eso es prácticamente todo.
Veo los diferentes visitantes (por IP) en las estadísticas creadas con el Apache access.log y, lo que es más importante, también veo diferentes últimas IPs para los usuarios (esta fue una comprobación sencilla para mí). Así que parece que las direcciones IP de los visitantes se exponen a través del proxy de Apache a Discourse. Esto ya ocurría sin tener activado mod_remoteip, que solo activé hace unos días.
De todos modos, estoy teniendo problemas de nuevo ahora. Algún rastreador o ataque DoS se está ejecutando en nuestro servidor con una IPv4 de Cracovia, Polonia. Está generando muchos errores 429. Eso está bien para mí, pero todos los demás visitantes también reciben estos errores.
¿Es también este el caso? ¿Así que cuando se alcanza el límite de conexión, todo el mundo recibe un error? ¿O por IP?
¿Falta algo en mi configuración o puedo mejorarla/ajustarla? Tuvimos problemas con Claudebot hace unas semanas y también hace unos días, así que tal vez el límite necesite ser un poco más alto.
Acabo de editar app.yml y ejecuté una reconstrucción en el contenedor. El bot regresó casi instantáneamente después de que el contenedor volvió a estar en línea. Aún no veo ningún error 429. Espero que siga así para los usuarios “normales”.
Esa es la cuestión… Cuando reviso la página de administración de los usuarios, siempre vi diferentes entradas de “última IP”. Así que de alguna manera Discourse vio las IPs reales de los usuarios, incluso sin mod_remoteip y también sin el cambio de configuración de Nginx.
De todos modos, ¡tengo curiosidad por ver si el cambio de configuración de Nginx trajo la solución a este problema!