Tengo varios proyectos de Django que se ejecutan en un servidor usando gunicorn y nginx. Actualmente están configurados para ejecutarse en un puerto único de la misma dirección IP utilizando la directiva del servidor en nginx. Todo esto funciona bienDjango- cookies de sesión y sitios en puertos múltiples
...
server {
listen 81;
server_name my.ip.x.x;
... #static hosting and reverse proxy to site1
}
server {
listen 84;
server_name my.ip.x.x;
... #static hosting and reverse proxy to site2
}
...
me encontré con un problema cuando yo tenía 2 proyectos diferentes abiertos en 2 pestañas y me di cuenta de que no podía haber iniciado sesión en ambos sitios a la vez (ambos utilizan el modelo de usuario incorporada en Django y autenticación). Al inspeccionar las cookies guardadas en mi navegador, me di cuenta de que la cookie está ligada solo al nombre de dominio (en mi caso solo una dirección IP) y no incluye el puerto.
En el segundo sitio, he intentado cambiar SESSION_COOKIE_NAME annd SESSION_COOKIE_DOMAIN, pero no parece estar funcionando y con estos ajustes actuales que ni siquiera se puede iniciar sesión.
SESSION_COOKIE_DOMAIN = 'my.ip.x.x:84' #solution is to leave this as default
SESSION_COOKIE_NAME = 'site2' #just using this works
SESSION_COOKIE_PATH = '/' #solution is to leave this as default
#site1 is using all default values for these
¿Qué necesito para hacer para obtener cookies para ambos sitios trabajando de forma independiente?
Eso fue lo primero que probé. Y no estaba funcionando. Pero, por supuesto, después de que lo recomiendes y lo intente de nuevo, funciona ... ¡Gracias! Además, creo que este problema se solucionaría una vez que obtengamos la configuración interna de DNS (todos estos sitios son aplicaciones de uso interno). –