Ich konfiguriere einen Nginx-Server so, dass er als Reverse-Proxy für eine Django-App (auf Gunicorn ausgeführt) dient.
Mein Problem ist, dass ich möchte, dass meine Site mit HTTPS gesichert wird, und dass meine Django-App feststellen kann, ob eine Verbindung sicher ist oder nicht. Ich verwende Django 1.4, habe also Zugriff auf das SECURE_PROXY_SSL_HEADER
, als das ich konfiguriert habe SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTOCOL', 'https')
.
Wie in der Dokumentation erwähnt, muss ich jetzt sicherstellen, dass Nginx den Header nur bei Bedarf hinzufügt und ihn entfernt, wenn dies nicht der Fall ist. Da ich möchte, dass meine Nginx-Konfiguration so trocken wie möglich ist, hätte ich lieber keine zwei Konfigurationsdateien (eine für Port 80 und eine für Port 443).
Daher möchte ich wissen, ob es in Nginx eine Möglichkeit gibt, festzustellen, ob die Verbindung https ist, und einen Header entsprechend hinzuzufügen (oder zu entfernen).
$scheme
Variable vorher nicht zu kennen !