javascript - Citrix 从 Web 应用程序检索客户端 IP 地址

标签 javascript java citrix

情况

我们有:

  • 在应用程序服务器上运行的 JSF Web 应用程序。
  • 在客户端计算机上运行的用于智能卡访问的 Java 服务器套接字应用程序。

Web 应用程序需要读取客户端计算机上智能卡读卡器中的智能卡。

为此,Web 应用程序使用客户端计算机的 IP 地址与客户端计算机上的服务器套接字应用程序建立连接。

此 IP 地址是通过我们的 Web 应用程序调用的 ServletRequest 对象确定的。

问题

当此设置在 RD 环境(例如 Citrix)中运行时,我们收到服务器 IP 地址而不是客户端计算机 IP 地址。

问题

我们如何检索客户端 IP 地址? 也许通过使用 WebSockets?

<小时/>

评论

我不确定这些是否正确,但我环顾四周,找到了一些可能的解决方案:

  • 使用虚拟 IP 策略(我知道这会使本地主机调用恢复到正确的 IP 地址?)
  • 向请求添加 X-Forwarded-For header

这些需要修改/配置 RD 环境,而我们不管理此级别。 当然,如果没有其他办法,我可以尝试这样请求。

最佳答案

您应该尝试 X-Forwarded-For。为我们工作。不知何故,情况不同,但它对我们有用。

关于javascript - Citrix 从 Web 应用程序检索客户端 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53154066/

相关文章:

javascript - 如何从拦截器的响应中返回 SOAP 响应

java - 为什么不允许这样使用泛型和通配符?

java - 为什么 java 在我使用 float 时强制我添加 f?

c++ - 检测窗口何时与来自相同或不同进程的另一个窗口重叠

python - 限制终端服务器下应用程序实例数量的技术

virtualization - 程序如何检测到它正在 Citrix 上运行?

javascript - 如何在 $.ajax 调用后停止执行 JS 代码,即当服务器正在处理 AJAX 请求时

javascript - 使用 jQuery 多次添加和删除元素

javascript - 在对象上使用映射时意外使用逗号

java - wget 不通过 Runtime.getRuntime.exec(String[] commandArray) 显示输出