Osticket: Token CSRF roto cuando está detrás del proxy inverso

Creado en 28 mar. 2014  ·  6Comentarios  ·  Fuente: osTicket/osTicket

Intentando usar osTicket (v1.8.1-dpr) detrás de un proxy inverso, obteniendo de manera confiable

 Invalid CSRF Token __CSRFToken__
Invalid CSRF token [b4cab350cfce13ee10a8cd27445e7f4466db039e] on
(redacted)

la causa parece ser el javascript osticket que genera el token basado en la IP del navegador, que por supuesto difiere de la IP del proxy inverso cuando el token se verifica en el lado del servidor.

El proxy inverso es una instancia de Apache en ec2

question

Comentario más útil

Sé que esta publicación tiene más de un año, pero apareció varias veces al intentar configurar mi proxy inverso con osTicket. Estoy usando NginX como mi proxy inverso (lo sé, no es compatible, etc., etc.) con algunos ajustes, pude pasar el error "Token CSRF no válido".

en mi bloque de ubicación necesitaba agregar algunas configuraciones de encabezado:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

El pass_header era lo que parecía hacer que funcionara, pero las otras configuraciones asegurarán que su servidor reciba la dirección IP correcta. Creo que también podría establecer esas configuraciones en el servidor o en el bloque http, pero esto satisfizo mis necesidades.

Todos 6 comentarios

Su proxy inverso debe enviar X-Forwarded-For . ¿Lo hace?

Sí, el proxy inverso está configurando X-Fordered-For en la dirección correcta. El cliente está detrás de un NAT, por lo que Javascript podría obtener una dirección RFC1918, si obtiene direcciones de interfaz vinculadas (no está claro si eso está sucediendo).

¿Puede verificar la configuración de cookies entre el servidor proxy (donde se ejecuta osTicket y el cliente)? Verifique el dominio de la cookie y la ruta de la cookie de la cookie devuelta y asegúrese de que ninguno de los servidores intermedios esté alterando la configuración de cookies o cookies.

Lo comprobaré, pero ese podría ser el problema (el dominio de host interno y el dominio como proxy son muy diferentes). Lo actualizaré en un par de horas.

Sé que esta publicación tiene más de un año, pero apareció varias veces al intentar configurar mi proxy inverso con osTicket. Estoy usando NginX como mi proxy inverso (lo sé, no es compatible, etc., etc.) con algunos ajustes, pude pasar el error "Token CSRF no válido".

en mi bloque de ubicación necesitaba agregar algunas configuraciones de encabezado:

 location / {
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header       Set-Cookie;
            proxy_pass <Backend osTicket location>;
        }

El pass_header era lo que parecía hacer que funcionara, pero las otras configuraciones asegurarán que su servidor reciba la dirección IP correcta. Creo que también podría establecer esas configuraciones en el servidor o en el bloque http, pero esto satisfizo mis necesidades.

@webbe no

¿Fue útil esta página
0 / 5 - 0 calificaciones