BIGIPを使用する場合のStruts2リダイレクトアクチクトの結果
質問
私はstruts2(2.1.6)を使用していて、にリダイレクトしたい アクション2 から アクション1.
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>
これは期待どおりに機能します: http://myserver:9064/demo/Action1
にリダイレクトします http://myserver:9064/demo/Action2
(TomcatとWebSphereでテスト)。
しかし、私が自分のアプリをBIGIPの後ろに置いたとき、 redirectAction
予想どおりに動作しなくなりました。
http://mybigip/demo/Action1
にリダイレクトすることが期待されています http://mybigip/demo/Action2
, 、代わりにリダイレクトします http://mybigip:9064/demo/Action2
(アプリのポート番号が追加されることに注意してください)404エラーが発生します。同じ結果が得られました type="redirect"
また。
この問題を解決するためのポインターは大歓迎です。
解決
この問題の解決策を見つけました。実際、これはストラットだけでは起こっていません。それは一般的に起こります Response.sendRedirect
また RequestDispatcher.forward
. 。また、この動作は、アプリがWebSphereに展開され、Tomcatでではなく展開されたときに気付かれます。
以下のリンクには詳細があります。
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/ea/ae/RWEB_CUSTOM_PROPS.HTML
(カスタムプロパティを探します httpsIndicatorHeader
)
また:
http://support.f5.com/kb/en-us/solutions/public/1000/800/sol1871.html