【发布时间】:2014-04-15 04:44:46
【问题描述】:
我们正在尝试为生产设置 Worklight Server,它位于有助于管理 SSL 证书的反向代理后面。
这意味着,当用户点击域时,比如https://mydomain.com:443,代理会自动将请求转发到端口 9080 上的 Worklight Server。
按照this 指南为反向代理设置完成后,installers.html 页面运行良好。但是我们注意到,当我们尝试使用https://mydomain.com:443/appcenterconsole 访问控制台时,用户会被重定向到http://mydomain.com:9080/appcenterconsole/console.html,这会导致问题。
我四处搜索,找到了这个链接Worklight Console redirects to port 9080,这与我遇到的问题相似。 我有没有办法配置 Websphere Liberty 配置文件,以便它使用反向代理 URL 作为重定向 URL?
我还注意到appcenterconsole.war 中的index.html 文件正在使用元刷新方法进行重定向。我很想将其更改为使用完整的 URL,但是我也注意到当我们转到 login.html 并执行登录时会发生同样的问题。 (因此登录后,页面也将用户重定向到 9080 端口)。
欢迎任何指点或想法。使用的 Worklight 版本是 6.1。
谢谢。
编辑
我的环境中的网络设置:
代理网关(带有 SSL 证书)配置为在收到与端口 80 或 443 的连接时连接到端口 9080 的 Worklight Server。因此:
https://mydomain.com:443/appcenterconsole -> 将映射到http://worklightserver:9080/appcenterconsole
映射在代理和 Worklight 服务器之间在内部完成。
当我们在浏览器上输入完整的 URL 时,即。 https://mydomain.com:443/appcenterconsole/console.html 登录后,控制台工作正常。
【问题讨论】:
-
请不要将工作灯控制台与应用程序中心混淆 - 它们是 2 个独立的实体。
-
是的,我明白,但问题是相似的。有没有办法配置这个?谢谢。
-
你使用什么代理?代理配置似乎有问题。代理应该伪装传入的请求,以便它可以翻译传出的响应。传出响应的翻译似乎适用于 IP 地址本身,但不适用于端口。也就是说,响应到达浏览器时标头中的端口错误,因此浏览器重定向错误。确保 IP 和端口转换是反向代理的责任。
-
代理设置似乎很好,因为我们可以通过移动客户端访问服务,并正常下载应用程序。根据我的观察,当控制台尝试执行重定向(即登录后,将您重定向到主应用程序页面)时会出现问题。
-
使用 Liberty Profile 8551 和 IBM HTTP Server 855 进行的测试未显示此问题。输入domain:443/appcenterconsole 会正确重定向到domain:9443/appcenterconsole/login.html。确保代理不会重定向到 http 协议。默认情况下,例如使用 IHS,IHS 和应用程序服务器之间的传输是 HTTP 而不是 HTTPS
标签: ibm-mobilefirst worklight-appcenter