Estoy tratando de probar mi aplicación Django localmente usando SSL. Tengo una vista con el decorador @login_required
. Entonces, cuando presiono /locker
, me redireccionan al /locker/login?next=/locker
. Esto funciona bien con http.Django @login_required dejando caer https
Sin embargo, cada vez que use https, la redirección de alguna manera cae la conexión segura, por lo que obtener algo así como https://cumulus.dev/locker -> http://cumulus.dev/locker/login?next=/locker
Si voy directamente a la página se abre https://cumulus.dev/locker/login?next=locker
bien por una conexión segura. Pero una vez que ingreso el nombre de usuario y la contraseña, vuelvo al http://cumulus.dev/locker
.
Estoy usando Nginx para manejar el SSL, que luego se comunica con runserver
. Mi configuración de nginx es
upstream app_server_djangoapp {
server localhost:8000 fail_timeout=0;
}
server {
listen 80;
server_name cumulus.dev;
access_log /var/log/nginx/cumulus-dev-access.log;
error_log /var/log/nginx/cumulus-dev-error.log info;
keepalive_timeout 5;
# path for static files
root /home/gaurav/www/Cumulus/cumulus_lightbox/static;
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server_djangoapp;
break;
}
}
}
server {
listen 443;
server_name cumulus.dev;
ssl on;
ssl_certificate /etc/ssl/cacert-cumulus.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
access_log /var/log/nginx/cumulus-dev-access.log;
error_log /var/log/nginx/cumulus-dev-error.log info;
keepalive_timeout 5;
# path for static files
root /home/gaurav/www/Cumulus/cumulus_lightbox/static;
location/{
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://app_server_djangoapp;
break;
}
}
}
que iba a decir: "Oh, sólo cambia el' LOGIN_URL' en su archivo 'settings.py'" ... pero lo he intentado y no funciona Buena pregunta. –