Hola,
Probablemente el problema que tenga es con nginx y django. Las peticiones bajo la misma url Django o PHP son cacheadas con Nginx.
Por ejemplo, si usted accede a midominio.com/index sin un usuario logueado en su sistema, pero posteriormente su usuario entra en midominio.com/login y le redirecciona de nuevo
a midominio.com/index el usuario esta logueado, pero observará un comportamiento incorrecto de nginx, ya que este accede a la cache del anterior hit,
puesto que detecta la misma url y muestra la anterior carga cacheada.
Para esto es posible dos soluciones:
- Modificar la url con algún parámetro, para que nginx no la tome como misma url. Por ejemplo, al redireccionar a midominio.com/index, debería hacerse con un token aleatorio, por ejemplo
con midominio.com/index?token=1234, siendo token un número aleatorio bastante grande que no tuviera muchas colisiones. Esto hará pensar a nginx que es una url distinta y por lo tanto no
ofrecerá la anterior versión de la página cacheada. También puede detectar las cabeceras http:
X-Forwarded-Host
X-Forwarded-Server
X-Forwarded-For
Que en caso de estar presentes, se trataría de una página cargada a través de la cache de nginx.
- Desactivar Nginx en sus dominios. Esta opción es demasiada radical y no se la recomendamos, ya que sus aplicaciones se verán degradadas en rendimiento no siendo cacheadas sus páginas de
ninguna forma. Por lo que además de consumir más memoria y cpu, también se realizará un mayor gasto de transferencia de ancho de banda.