【问题标题】:How to configure liferay to get correct ip address of user?如何配置liferay以获取正确的用户IP地址?
【发布时间】:2017-12-13 12:13:53
【问题描述】:

密码剩余邮件当前正在发送私人 ip。我要在下面

liferay 的 $REMOTE_ADDRESS$ 变量在密码重置通知中设置公共 ip。

在 liferay 内部使用 request.getRemoteAddr()。我应该如何配置 liferay 以便 request.getRemoteAddr() 提供正确的 IP 地址。

【问题讨论】:

  • 你的应用服务器前是否碰巧使用了 Apache 或 nginx?
  • 感谢 Olaf 我们正在使用 apache。

标签: liferay liferay-7


【解决方案1】:

我假设您正在使用 mod_proxy_http 将请求从 Apache httpd 转发到 tomcat(或您使用的任何应用服务器)。这意味着,有一个单独的 HTTP 请求,来自您的网络服务器。我假设这是您看到的地址,无论您处理什么请求。

解决此问题的一种方法是使用 AJP 作为转发协议,而不是 HTTP。您可以通过使用 mod_proxy_ajp 或 mod_jk 来做到这一点。这意味着您无法加密 Web 和应用程序服务器之间的流量,但是默认情况下它会处理远程主机和其他问题。

可能还有其他选项,例如尝试添加标题X-Forwarded-For。我个人更喜欢 AJP 而不是 HTTP 作为转发协议,这就是我从不费心尝试替代方案的原因。

基本上,这根本不涉及 Liferay:远程主机在从 Apache httpd 到您的应用服务器的连接中丢失。 Liferay 只是检索应用服务器告诉它的有关请求的内容。

【讨论】:

    猜你喜欢
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2022-01-20
    • 2016-07-27
    • 2018-03-30
    相关资源
    最近更新 更多