Error CSFR al iniciar sesión detrás de HA Proxy

Hola a todos, espero que esta sea la sección correcta para pedir ayuda sobre esto.
Recientemente cambié el proxy inverso que tengo frente al servidor de Discourse.
Tengo un servidor con varias instalaciones de Discourse y un proxy inverso al frente que redirige los dominios al servidor web correspondiente.

He usado HA Proxy en ambas configuraciones, pero la diferencia es la plataforma: antes estaba instalado en pfSense y ahora en OPNsense.

El proxy inverso funciona perfectamente, pero si intento iniciar sesión, obtengo un error de CSRF y no puedo hacer nada.

No he cambiado nada en la configuración de Discourse y la configuración de HA Proxy se copió tal cual, así que debería estar bien.
He activado X-Forwarded-For y SSL, pero Discourse parece no mantener la misma IP del cliente y solo ve la del proxy.

Este es el post en Reddit donde también pedí ayuda: https://www.reddit.com/r/OPNsenseFirewall/comments/l4ltxb/migration_from_pfsense_to_opnsense_ha_proxy/?utm_source=share&utm_medium=web2x&context=3

No sé si solucionará el problema de CSRF (que creo que tiene que ver con problemas del certificado HTTPS, pero no estoy seguro), pero el reenvío para iniciar se hizo indicando a nginx dentro del contenedor qué direcciones confiar. Puedes buscar aquí ‘X-forwarded-for’ y encontrar ejemplos de cómo solucionarlo.

Gracias por tu respuesta.
Busqué en el foro al respecto, pero no pude encontrar información actualizada.

Hay varios temas antiguos que mencionan Real_ip para configurar en nginx dentro del contenedor, pero no tengo ni idea de cómo hacerlo.

¿Recomendarías alguna guía específica?

No veo una guía específica, pero intentaré crear una pronto. Aquí está esta Inconsistent / missing registration & last IP - #13 by pfaffman que creo que debería darte lo que necesitas para el aspecto de real-ip.

También necesitas enviar una cabecera X-Forwarded-Proto.

2 Me gusta

¡GRACIAS! Realmente estuve tres días dando vueltas en círculos y ¡esto lo resolvió!

¡También he añadido el encabezado Proto y funcionó!

1 me gusta

Por si acaso, hay muchas configuraciones de ejemplo para servidores proxy inversos frente a la aplicación Discourse, incluida esta, y casi todas abordan “X-Forwarded-Proto”:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.