2016-05-10 16 views
1

Wo kann ich manuell die redirect_uri, die Teil der URL-Parameter ist, wenn Sie auf sign in in der Standard-Wirecloud-Setup klicken?WireCloud Redirect URL mit Proxy

Wir möchten unsere Plattform im Internet zeigen und müssen unseren WireCloud Server über unseren Proxy adressieren. Das Problem ist jetzt, dass nicht die Proxy-URL als Weiterleitungs-URL verwendet wird, sondern die interne Server-URL. Dies führt zum Fehler {"state": "eCUfYmpXnDV34IVR1P8Vtt2Ke8Xhoxtm", "error": "mismatching_redirect_uri"} (HTTP 400).

+0

Durch die Zugabe von 'USE_X_FORWARDED_HOST = true' meiner settings.py die Umleitung URL wurde besser, da jetzt die Weiterleitungs-URL der richtige Server ist. Der Proxy-Server erstellt jedoch eine SSL-Verbindung zum Client. Daher sollte die URL mit https anstelle von http beginnen. Aber intern verwendet der Server http und keine https. Gibt es eine Möglichkeit, die URL zu https zu ändern? Wenn ich die URL manuell in der Adressleiste ändere, bekomme ich einen 401 Fehler: Nicht autorisiert für die URL – Newbird

Antwort

1

Fügen Sie die folgenden Zeilen in die Datei settings.py:

USE_X_FORWARDED_HOST = True 
USE_X_FORWARDED_PORT = True 
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https') 

dies WireCloud konfigurieren Sie die folgenden Header vertrauen: X-Forwarded-Host, X-Forwarded-Port und X-Forwarded-Proto. Diese Header werden normalerweise von den Proxyservern beim Aufrufen des Back-End-Dienstes bereitgestellt.

Wenn Sie nicht lieber auf diesen Header verlassen, können Sie die spezifischen Werte in der settings.py-Datei festgelegt, anstatt die folgenden Einstellungen:

FORCE_PROTO = 'https' 
FORCE_DOMAIN = 'my.domain.com' 
FORCE_PORT = 8000 
+0

Vielen Dank für Ihre schnelle Antwort! – Newbird