如何配置liferay以获取正确的用户IP地址?

时间:2017-07-09 20:08:48

标签: liferay liferay-7

目前正在发送私人IP的密码休息邮件。我想在下面

$ REMOTE_ADDRESS $ life of liferay在密码重置通知中设置公共IP。

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

1 个答案:

答案 0 :(得分:1)

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

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

可能还有其他选择,例如尝试添加标题X-Forwarded-For。我个人更喜欢使用AJP over HTTP作为转发协议,这就是为什么我从不打扰尝试替代方案。

基本上,这根本不涉及Liferay:远程主机在从Apache httpd到你的appserver的连接上迷路了。 Liferay只是检索appserver告诉它的请求。