2016-04-01 13 views
0

Ich habe ein Problem mit Liferay hinter Apache-Proxy. Das Problem tritt bei Weiterleitungen nach Abschluss der Strukturaktion auf. Das Problem tritt in den integrierten Portlets auf, beispielsweise auf den Seiten: "Systemsteuerung" -> "Benutzer" und "Mein Konto" -> "Meine Workflow-Aufgaben" und wahrscheinlich an anderen Stellen. Wenn die Liste der Benutzer angezeigt wird und ich eine Aktion für einen Benutzer ausführen (aktivieren/deaktivieren), wird die Aktion erfolgreich ausgeführt. Aber danach wird, anstatt zur Benutzerlistenseite zurückzukehren, eine Benutzerdetails/Bearbeitungsseite angezeigt. Ähnliches passiert beim Ausführen von Aktionen für Workflow-Aufgaben.Umleitung ignoriert nach Abschluss Struts Aktion bei der Verwendung von Liferay hinter Apache-Proxy

Dies geschieht nur, wenn ich über Apache Proxy eine Verbindung zum Liferay Portal herstelle. Wenn ich mich direkt an den Tomcat anschließe, funktioniert alles. In liveray tomcat access_logs ist der einzige sinnvolle Unterschied zwischen diesen beiden Fällen der URL-Parameter "redirect" (es gab auch eine andere refererPlid-ID, die jedoch nicht relevant erscheint). Alles andere in der URL ist identisch. Und der einzige Unterschied innerhalb der Redirect-Parameter war der Beginn der URL. Im Fall der Verwendung von Proxy war der Domainname in Apache virtual host und Standardport konfiguriert. Im Fall von keinem Apache hat es Server-IP und Tomcat-Port.

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

In beiden Fällen wurde die Aktion erfolgreich durchgeführt. Ohne Apache war es Redirect, tomcat Antwort: "302 -" Mit Apache Benutzer detailes/Edit-Seite angezeigt wurde, tomcat Antwort: "200 12762"

Ich verwende liferay-portal-6.2-ce-ga6.

Hat jemand eine Idee, wie man es repariert?

Danke für Ihre Hilfe.

+0

Verwenden Sie 'mod_jk' oder' mod_proxy_ajp'? – SASM

+0

Ich benutze mod_proxy_ajp. –

Antwort

0

Ich glaube, Sie sollten versuchen,

ProxyPass /liferay ajp://localhost:8009 
ProxyPassReverse /liferay ajp://localhost:8009 

mit

RewriteEngine on 
RewriteRule ^/(.*) ajp://localhost:8009/$1 [P] 
0

Problem ersetzt wurde in portal.properties Liferay Sicherheitseinstellungen behoben werden.

## 
## 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