IdPのサービス動作状況を確認する
1.Tomcat と、httpd サービスを再起動
IdPの設定変更後に各サービスの再起動を行っていない場合は、行ってください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
titleBGColor | #ffffff |
---|
title | CentoOS7の場合 |
---|
borderStyle | solid |
---|
|
# systemctl stop tomcat # systemctl restart httpd
# systemctl start tomcat |
展開 |
---|
|
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
| # service tomcat7 stop
# service httpd restart
# service tomcat7 start |
|
2.動作状況確認URLにアクセス
IdPサーバ自身から以下のようにアクセスして確認します。
※ホスト名は必ず localhost(もしくは127.0.0.1)として下さい。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# wget -O - http://localhost/idp/status |
情報 |
---|
title | 外部からステータスページにアクセスしたい場合 |
---|
|
監視サーバからのアクセスなど、外部からアクセスしたい場合は、アクセス元のIPアドレスを許可する必要があります。 設定を変更した場合は、再度Tomcatの再起動を行ってください。 /opt/shibboleth-idp/conf/access-control.xml ファイルにアクセス元となるIPアドレスを設定してください。 パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
| <util:map id="shibboleth.AccessControlPolicies">
<entry key="AccessByIPAddress">
<bean parent="shibboleth.IPRangeAccessControl"
p:allowedRanges="#{ {'127.0.0.1/32', '::1/128', 'xxx.xxx.xxx.xxx/xx'} }" /> ← アクセス元のIPアドレス範囲を追加
</entry>
</util:map>
|
以下のURLにアクセスします。 ※ホスト名を構築した環境に置き換えてアクセスしてください。 https://example-idp.nii.ac.jp/idp/status
上記のように変更した場合、同じルールを使用している他の機能(resolvertestとreload-*)へのアクセスも許可されます。 /idp/statusのみのアクセス制御を変更したい場合は、上述の<entry>要素を複製・適宜修正し、key属性にユニークな識別子を割り当てた後、idp.propertiesのidp.status.accessPolicyに当該keyを設定してください。 情報 |
---|
3.3.0のidp.propertiesにはidp.status.accessPolicyの行がありませんので、以下のような行を追加してください。 書式設定済み |
---|
idp.status.accessPolicy = AccessByIPAddressXXX |
|
|
3.結果の確認
各サービスの動作状況が確認できます。successfulという出力が含まれていれば、IdPの機能が正常に動作していることの確認が出来ました。
展開 |
---|
|
500 Internal Server Errorwgetコマンドの出力に以下のエラーが含まれます。 パネル |
---|
HTTP による接続要求を送信しました、応答を待っています... 500 Internal Server Error
2016-06-21 16:45:32 エラー 500: Internal Server Error。
|
→3.2.1およびそれ以前の場合、IdPの各種設定ファイルにて記述ミスの可能性があります。 ログファイル /opt/shibboleth-idp/logs/idp-process.log を確認して下さい。(直近の500エラーに対応するもの()は無視して、起動時にエラーが発生していないか確認してください)
- 以下のエラーは無視してください。3.3.0で修正予定です。 書式設定済み |
---|
2016-06-27 12:34:56,760 - ERROR [org.apache.velocity:96] - ResourceManager : unable to find resource 'status.vm' in any resource loader.
2016-06-27 12:34:56,815 - ERROR [net.shibboleth.idp.profile:-2] - Uncaught runtime exception
java.lang.IllegalStateException: Exception occurred rendering view org.springframework.web.servlet.view.JstlView: name 'status'; URL [/WEB-INF/jsp/status.jsp]
at org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:200)
Caused by: org.apache.jasper.JasperException: java.lang.NullPointerException
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
Caused by: java.lang.NullPointerException: null
at org.apache.jsp.WEB_002dINF.jsp.status_jsp._jspService(status_jsp.java:250)
2016-06-27 12:34:56,826 - WARN [org.opensaml.profile.action.impl.LogEvent:76] - An error event occurred while processing the request: RuntimeException |
500 Internal Server Error (その2)wgetコマンドの出力に以下のエラーが含まれます。 パネル |
---|
HTTP による接続要求を送信しました、応答を待っています... 500 Internal Server Error
2016-06-21 16:45:32 エラー 500: Internal Server Error。
|
さらに、Tomcatの $CATALINA_BASE/logs/localhost.<日付>.log に以下のエラーが記録されます。 パネル |
---|
Jul 07, 2016 6:45:51 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [idp] in context with path [/idp] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config] with root cause
java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1722)
...
|
→ jstl.jar(jakarta-taglibs-core.jar と jakarta-taglibs-standard.jar)の配置に失敗している可能性があります。貴学にてIdPv3をインストールする場合の構築手順 > 4. jakarta-taglibs-core.jarとjakarta-taglibs-standard.jarの配置 を見直して、再度build.shを実行してみてください。 500 Internal Server Error (その3)wgetコマンドの出力に以下のエラーが含まれます。 パネル |
---|
HTTP による接続要求を送信しました、応答を待っています... 500 Internal Server Error
2016-06-21 16:45:32 エラー 500: Internal Server Error。
|
さらに、ログファイル /opt/shibboleth-idp/logs/idp-process.log に以下のエラーが出力されます。 書式設定済み |
---|
2016-06-27 12:34:56,861 - ERROR [net.shibboleth.utilities.java.support.service.AbstractReloadableService:231] - Service 'shibboleth.AttributeResolverService': Reload for shibboleth.AttributeResolverService failed
net.shibboleth.utilities.java.support.service.ServiceException: Failed to load [file [/opt/shibboleth-idp/conf/attribute-resolver.xml]]
at net.shibboleth.ext.spring.service.ReloadableSpringService.doReload(ReloadableSpringService.java:344)
Caused by: net.shibboleth.utilities.java.support.service.ServiceException: Unable to initialize attribute resolver for ApplicationContext:shibboleth.AttributeResolverService
at net.shibboleth.idp.attribute.resolver.spring.impl.AttributeResolverServiceStrategy.apply(AttributeResolverServiceStrategy.java:74)
Caused by: net.shibboleth.utilities.java.support.component.ComponentInitializationException: Attribute Resolver 'ShibbolethAttributeResolver': Plugin 'eduPersonPrincipalName' has a dependency on plugin 'myLDAP' which doesn't exist
at net.shibboleth.idp.attribute.resolver.impl.AttributeResolverImpl.checkPlugInDependencies(AttributeResolverImpl.java:501) |
このエラーが出力される場合は、/opt/shibboleth-idp/conf/attirbute-resolver.xmlでLDAPのコネクタが有効になっているか確認してください。 参考: IdPv3セッティング - attribute-resolver.xml ファイルの変更(IdPv3) - 2.利用するコネクタを設定します。 |