gpt4 book ai didi

apache - 在 apache 代理后面使用 Liferay 时完成 struts 操作后忽略重定向

转载 作者:行者123 更新时间:2023-11-28 22:18:06 25 4
gpt4 key购买 nike

我在 Apache 代理后面使用 Liferay 时遇到问题。问题在于完成结构操作后的重定向。问题出现在内置 portlet 中,例如页面:“控制面板”->“用户”和“我的帐户”->“我的工作流程任务”,可能还有其他地方。当显示用户列表并且我对用户执行某些操作(激活/停用)时,操作成功完成。但之后并没有返回到用户列表页面,而是显示了用户详细信息/编辑页面。对工作流任务执行操作时会发生类似的事情。

只有当我通过 Apache 代理连接到 Liferay 门户时才会发生这种情况。当我直接连接到 liferay tomcat 时,一切正常。在 liferay tomcat access_logs 中,这两种情况之间唯一有意义的区别是“重定向”URL 参数(也有不同的 refererPlid id,但它似乎不相关)。 URL 中的任何其他内容都是相同的。重定向参数中的唯一区别是 URL 的开头。在使用代理的情况下,它是在 Apache 虚拟主机和默认端口中配置的域名。如果没有 Apache,它有服务器 IP 和 tomcat 端口。

Without apache: ...http%3A%2F%2F10.254.10.124%3A8080... or ...http%3A%2F%2Flocalhost%3A8080... 
With apache: ...http%3A%2F%2Fsome.domain.eu...

在这两种情况下,操作都已成功执行。没有 apache 有重定向,tomcat 响应:“302 -”显示 Apache 用户详细信息/编辑页面时,tomcat 响应:“200 12762

我正在使用 liferay-portal-6.2-ce-ga6

有没有人知道如何修复它?

感谢您的帮助。

最佳答案

使用 portal.properties 中的 Liferay 安全设置解决了问题。

##
## Redirect
##

#
# Set this property to "ip" or "domain" for the redirect security method. If
# set to "domain", the portal will only redirect users to domains listed in
# the property "redirect.url.domain.allowed". If set to "ip", the portal
# will only redirect to domains whose IP address resolve to an IP address
# listed in the property "redirect.url.ip.allowed".
#
#redirect.url.security.mode=domain
redirect.url.security.mode=ip

#
# Input a list of comma delimited domains which the portal is allowed to
# redirect to. Input a blank list to allow any domain.
#
redirect.url.domains.allowed=

#
# Input a list of comma delimited IPs which the portal is allowed to
# redirect to. Input a blank list to allow any IP. SERVER_IP will be
# replaced with the IP of the host server.
#
redirect.url.ips.allowed=127.0.0.1,SERVER_IP

关于apache - 在 apache 代理后面使用 Liferay 时完成 struts 操作后忽略重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36357827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com