Problema con esito Struts2 redirectAction quando si utilizza BigIP
Domanda
Sto usando Struts2 (2.1.6) e voglio reindirizzare a Azione2 da Action1 .
struts.xml:
<action name="Action1" class="Action1">
<result name="success" type="redirectAction">Action2</result>
</action>
<action name="Action2" class="Action2">
<result name="success">/demo.jsp</result>
</action>
Questo funziona come previsto:. Redirect http://myserver:9064/demo/Action1
a http://myserver:9064/demo/Action2
(testati su Tomcat e WebSphere)
Ma quando ho messo la mia app dietro BigIP, redirectAction
si comporta più come previsto.
http://mybigip/demo/Action1
è previsto per reindirizzare a http://mybigip/demo/Action2
, invece reindirizza a http://mybigip:9064/demo/Action2
(notare che il numero di porta della mia app viene allegata) che dà un errore 404. Ho avuto lo stesso risultato per type="redirect"
anche.
Ogni puntatore per risolvere questo problema sarebbe molto apprezzato.
Soluzione
Ho trovato la soluzione per questo problema. In realtà questo non sta accadendo solo per Struts. Avviene in generale con qualsiasi Response.sendRedirect
o RequestDispatcher.forward
. Inoltre, questo comportamento è notato quando l'app viene distribuito in WebSphere e non quando è in Tomcat.
I link qui sotto ha più dettagli:
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae /rweb_custom_props.html
(Look per la httpsIndicatorHeader
proprietà personalizzata)
Inoltre:
http://support.f5.com/kb/en-us/solutions/public/1000/800/sol1871.html