Cordova 应用程序显示 502 Bad Gateway nginx/1.11.10
Posted
技术标签:
【中文标题】Cordova 应用程序显示 502 Bad Gateway nginx/1.11.10【英文标题】:Cordova app showing 502 Bad Gateway nginx/1.11.10 【发布时间】:2017-07-31 01:48:21 【问题描述】:我正在使用 Keycloak javascript 适配器让我的 android cordova 应用程序通过 keycloak 对我的后端服务进行身份验证。当我的应用程序启动时,我转到 keycloak 登录 URL,并且 keycloak 登录屏幕正确显示并且身份验证工作正常。然后我按后退按钮退出我的应用程序。当我重新启动我的应用程序时,我再次转到 keycloak 登录 URL,但这次没有显示 keycloak 登录屏幕。相反,我看到 502 Bad Gateway nginx/1.11.10。我无法弄清楚我的应用程序是否做错了什么,或者这是否是 keycloak 身份验证服务器的问题。感谢您提供任何帮助。
【问题讨论】:
你解决过这个问题吗? 有来自 nginx/keycloak 的日志吗? 【参考方案1】:我不明白你的 Nginx 代理在哪里...如果它被放置在你的服务(后端)或 Keycloak 上。
顺便说一句,我假设您在 Nginx 反向代理后面有一个 Keycloak。
当您之前登录时,浏览器会向 Keycloak 服务器发送一个 cookie,这就是您需要检查的内容。 调试您的 Cordova 应用程序以提供有关对 Keycloak 的调用的信息(url、cookie、表单参数/标题和响应代码)。
一个好的起点是检查你是否按照本教程配置好你的 nginx 服务器:redhat tutorial(特别是提到的 nginx.conf 文件)
另一个值得检查的好教程是:nginx keycloak tutorial
可能需要在 nginx.conf 中添加此设置的 Keycloak 的初始版本(有一个旧的相关票证):
underscores_in_headers on;
尝试提供有关您的问题的更多数据(例如您的 nginx 配置),也许我可以帮助您。
【讨论】:
至少在我的问题上,我不认为这是由于 nginx,因为我设置的另一个客户端工作正常。我认为这可能是响应类型的问题 嗨@CecilRodriguez 检查您的keycloak 服务器版本和js 适配器版本(使用相同版本以获得更好的支持)...尝试将您的设备置于调试状态并提交一些调用跟踪。您与 keycloak 对话的请求和响应示例可能会有所帮助(特别是带有 502 代码的 http 响应)...以上是关于Cordova 应用程序显示 502 Bad Gateway nginx/1.11.10的主要内容,如果未能解决你的问题,请参考以下文章