2016-05-10 27 views
1

在默认WireCloud设置中单击sign in时,我可以在哪里手动设置redirect_uri,它是url参数的一部分?WireCloud使用代理重定向url

我们希望将我们的平台展示给互联网,并需要通过我们的代理服务器来处理我们的WireCloud服务器。现在的问题是,不是代理网址被用作重定向网址,而是内部服务器网址。这导致错误{"state": "eCUfYmpXnDV34IVR1P8Vtt2Ke8Xhoxtm", "error": "mismatching_redirect_uri"} (HTTP 400)

+0

通过添加'USE_X_FORWARDED_HOST = TRUE'我settings.py重定向自从现在重定向url是正确的服务器以来,url变得更好了。然而,代理服务器创建一个到客户端的SSL连接,因此该URL应该以https而不是http开头。但内部服务器使用http和没有https。那么有没有办法将网址更改为https? 如果我在地址栏中手动更改网址,则会出现401错误:未经授权的网址 – Newbird

回答

1

添加以下行到settings.py文件:

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

这将配置WireCloud信任以下标题:X-Forwarded-HostX-Forwarded-PortX-Forwarded-Proto。这些标头通常由代理服务器在调用后端服务时提供。

如果你喜欢不依靠这些标题,您可以使用下面的设置,而不是设置在settings.py文件中的具体数值,

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

感谢您的快速响应! – Newbird