Citrix 从 Web 应用程序检索客户端 IP 地址
Citrix retrieve client IP address from web application
情况
我们有:
- 在应用程序服务器上运行的 JSF Web 应用程序。
- 在客户端计算机上运行的用于智能卡访问的 Java 服务器套接字应用程序。
Web 应用程序需要读取客户端计算机上智能卡 reader 中的智能卡。
为此,Web 应用程序使用客户端计算机的 IP 地址连接到客户端计算机上的服务器套接字应用程序。
这个IP地址是通过我们web应用调用的ServletRequestobject确定的。
问题
当此安装程序在 RD 环境(例如 Citrix)中运行时,我们收到服务器 IP 地址而不是客户端计算机 IP 地址。
问题
我们如何检索客户端IP地址?
也许通过使用 WebSockets?
评论
我不确定这些是否正确,但我环顾四周,找到了一些可能的解决方案:
- 使用虚拟 IP 策略(我知道这会使本地主机调用恢复到正确的 IP 地址?)
- 在请求中添加X-Forwarded-Forheader
这些需要 modification/configuration 的 RD 环境,我们不管理这个级别。
当然,如果没有别的办法,我可以尝试请求这个。
你应该试试 X-Forwarded-For。为我们工作。以某种方式不同的场景,但它对我们有用。
情况
我们有:
- 在应用程序服务器上运行的 JSF Web 应用程序。
- 在客户端计算机上运行的用于智能卡访问的 Java 服务器套接字应用程序。
Web 应用程序需要读取客户端计算机上智能卡 reader 中的智能卡。
为此,Web 应用程序使用客户端计算机的 IP 地址连接到客户端计算机上的服务器套接字应用程序。
这个IP地址是通过我们web应用调用的ServletRequestobject确定的。
问题
当此安装程序在 RD 环境(例如 Citrix)中运行时,我们收到服务器 IP 地址而不是客户端计算机 IP 地址。
问题
我们如何检索客户端IP地址? 也许通过使用 WebSockets?
评论
我不确定这些是否正确,但我环顾四周,找到了一些可能的解决方案:
- 使用虚拟 IP 策略(我知道这会使本地主机调用恢复到正确的 IP 地址?)
- 在请求中添加X-Forwarded-Forheader
这些需要 modification/configuration 的 RD 环境,我们不管理这个级别。 当然,如果没有别的办法,我可以尝试请求这个。
你应该试试 X-Forwarded-For。为我们工作。以某种方式不同的场景,但它对我们有用。