work around 的に対応しましたが、原因特定できたと考えておらず、 改めて調べたい為、以下にメモしておきます。
問題点
以下のような構成で、OpenAM13 と WebAgent v4.1.1 の認証テストを実施したところ、 ログインに成功するものの、ログイン後、WebAgent側へ画面遷移すると、403エラーが発生。
┌────┐ ┌──┐ ┌──┐ ┌────┐ │OpenAM13├http┤ALB ├── https──┤ALB ├http┤WebAgent│ └────┘ └──┘ └──┘ └────┘
OpenAM - WebAgent 間のパスワード誤り?
OpenAM インストール時に指定するパスワードと、 WebAgentのインストール時に指定するパスワードの不整合かと思いましたが、 そうでもないかも知れません。
/opt/sso/sso/debug/CoreSystem ログでのエラー
その後、OpenAM13 にある /opt/sso/sso/debug/CoreSystem を見たところ、 次のようなエラーを発見。
ERROR: Cannot send notification to https://test-nxxi13.end0tknr.com:443/UpdateAgentCacheServlet?shortcircuit=false java.io.FileNotFoundException: https://test-nxxi13.end0tknr.com:443/UpdateAgentCacheServlet?shortcircuit=false at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1896) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268) at com.iplanet.services.comm.server.NotificationSender.run(NotificationSender.java:93) at com.iplanet.services.comm.server.PLLServer.send(PLLServer.java:69) at com.iplanet.dpro.session.service.SessionNotificationSender$SessionNotificationSenderTask.run(SessionNotificationSender.java:265) at org.forgerock.openam.audit.context.AuditRequestContextPropagatingRunnable.run(AuditRequestContextPropagatingRunnable.java:42) at com.iplanet.am.util.ThreadPool$WorkerThread.run(ThreadPool.java:314)
暫定的に OpenAM の web agent 設定画面にある「適用されない URL 処理」に値追加
UpdateAgentCacheServlet に対してのエラーでしたので、 暫定的に OpenAM の web agent 設定画面にある「適用されない URL 処理」に値追加し、 サーバ再起動することで、画面遷移後も正しく表示されるようになりましたが、 本来の対応方法でない気がとってもします。
追加した適用されないurl
- http*://test-nxxi13.end0tknr.com/UpdateAgentCacheServlet
- http*://test-nxxi13.end0tknr.com/amagent