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

如何配置liferay以获取用户的正确ip地址?,liferay,liferay-7,Liferay,Liferay 7,密码rest邮件当前正在发送私有ip。我想在下面 密码重置通知中liferay设置公共ip的$REMOTE_ADDRESS$变量 内部liferay使用请求。getRemoteAddr()。我应该如何配置liferay so请求。getRemoteAddr()提供正确的ip地址。我假设您正在使用mod_proxy_http将请求从Apache httpd转发到tomcat(或您使用的任何appserver)。这意味着,有一个单独的HTTP请求,来自您的Web服务器。我假设这就是你看到的地址,不管

密码rest邮件当前正在发送私有ip。我想在下面

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


内部liferay使用请求。getRemoteAddr()。我应该如何配置liferay so请求。getRemoteAddr()提供正确的ip地址。

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

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

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


基本上,这根本不涉及Liferay:远程主机在从ApacheHTTPD到appserver的连接中丢失。Liferay只是检索appserver告诉它的关于请求的信息。

您是否碰巧在appserver前面使用了Apache或nginx?感谢Olaf,我们正在使用Apache。