2012-08-13 15 views
8

Ich habe Django läuft in uwsgi hinter Nginx. Wenn ich versuche, auf https://site/admin/ zuzugreifen, erhalte ich den erwarteten Anmeldebildschirm. Die Anmeldung über das Formular scheint erfolgreich zu sein, aber ich lande einfach wieder auf dem Anmeldebildschirm. Firebug zeigt eine Umleitung auf die Ebene http://site/admin/ URL, die dann Redirectec von Nginx auf die https URL.Zugriff auf Django Admin über HTTPS hinter Nginx

Hilfe! Ich bin verwirrt, wie man die Admin-App erzwingt, nur https-URLs zu verwenden.

Hinweis scheint dies eine verwandte, offene Frage zu sein: https://example.com/admin redirects to https://admin in Django Nginx and gunicorn

Antwort

9

Das Hinzufügen des folgenden zu nginx.conf behob das Problem für mich.

location/{ 
    ... 
    include     uwsgi_params; 
    uwsgi_param    HTTP_X_FORWARDED_PROTOCOL https; 
    uwsgi_param    UWSGI_SCHEME $scheme; 
} 

Zusammen mit dem Hinzufügen der folgenden settings.py:

SESSION_COOKIE_SECURE = True 
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https') 
CSRF_COOKIE_SECURE = True 
+6

Verwenden Sie 'proxy_set_header X-Forwarded-Protokoll $ scheme' in nginx.conf, wenn Sie' proxy_pass' und nicht uwsgi verwenden. –

2

folgenden sollte alles etwas Sie brauchen alle Zugriffe auf den Admin-App https

location /site/admin/ { 
    rewrite^https://$host/$request_uri permanent; 
} 

Wenn das umgeleitet haben funktioniert nicht, können Sie Ihre tatsächlichen Nginx Config Bits posten? Kann nicht wirklich mehr vorschlagen als das ohne deine eigentliche Konfiguration anzuschauen.

+0

Gute Idee, obwohl ich am Ende anders arbeiten. – justinzane

+0

nicht wirklich für POST-Anfragen arbeiten. insbesondere für API-Callbacks. – Antigluk

0

Update für Django 1.8 settings.py:

SESSION_COOKIE_SECURE = True 
CSRF_COOKIE_SECURE = True 
SECURE_SSL_REDIRECT = True 
SECURE_REDIRECT_EXEMPT = [r'^(?!admin/).*'] 

Und für Ihre Entwicklung rig möchten Sie vielleicht SECURE_SSL_REDIRECT = False zu überschreiben in Ihren lokalen Einstellungen.

Verwandte Themen