Nginx

2012-08-13 20 views
8

के पीछे HTTPS पर Django व्यवस्थापक तक पहुंचने के लिए मुझे django nginx के पीछे uwsgi में चल रहा है। जब मैं https://site/admin/ तक पहुंचने का प्रयास करता हूं तो मुझे अपेक्षित लॉगिन स्क्रीन मिलती है। प्रपत्र के माध्यम से लॉग इन करना सफल लगता है, हालांकि, मैं बस लॉगिन स्क्रीन पर वापस आ गया। फायरबग सादे http://site/admin/ यूआरएल पर रीडायरेक्ट दिखाता है जिसे तब nginx द्वारा https url पर रीडायरेक्ट किया जाता है।Nginx

सहायता! मैं उलझन में हूं कि व्यवस्थापक एप को केवल https यूआरएल का उपयोग करने के लिए मजबूर करना है। https://example.com/admin redirects to https://admin in Django Nginx and gunicorn

उत्तर

9

निम्नलिखित में nginx.conf को जोड़ने से मेरे लिए समस्या ठीक हो गई।

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

settings.py में निम्नलिखित को जोड़ के साथ साथ: Django 1.8 settings.py के लिए

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

'proxy_set'header एक्स-फॉरवर्डेड-प्रोटोकॉल $ स्कीम 'nginx.conf में प्रयोग करें यदि' proxy_pass' और uwsgi का उपयोग नहीं करते हैं। –

2

निम्नलिखित सब आप https

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

कि अगर पर पुनः निर्देशित व्यवस्थापक ऐप्स के लिए सभी यातायात की आवश्यकता होना चाहिए:

नोट इस एक संबंधित, अनुत्तरित सवाल हो रहा है काम नहीं करता, क्या आप अपनी वास्तविक nginx कॉन्फ़िगर बिट्स पोस्ट कर सकते हैं? वास्तव में अधिक सुझाव नहीं दे सकता है कि आपके वास्तविक कॉन्फ़िगरेशन को देखने के बिना।

+0

अच्छा विचार, हालांकि मैं इसे अलग-अलग काम करने के लिए समाप्त कर दिया। – justinzane

+0

वास्तव में POST अनुरोधों के लिए काम नहीं करता है। विशेष रूप से किसी भी एपीआई कॉलबैक के लिए। – Antigluk

0

अद्यतन:

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

और अपने developement रिग के लिए आप SECURE_SSL_REDIRECT = False अधिलेखित करने के लिए चाहते हो सकता है आपकी स्थानीय सेटिंग्स में।

 संबंधित मुद्दे