このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 ページ履歴を表示

« 前のバージョン バージョン 33 次のバージョン »

IdPのサービス動作状況を確認する

以前構築したIdPにて、以下のURLで 404 Not Found エラーが発生する場合は、まず 貴学にてIdPv3をインストールする場合の構築手順 virtualhost-localhost80.conf の設定を確認してください。



1.Tomcat と、httpd サービスを再起動

IdPの設定変更後に各サービスの再起動を行っていない場合は、行ってください。

CentoOS7の場合
# systemctl stop tomcat
# systemctl restart httpd # systemctl start tomcat
# service tomcat7 stop
# service httpd restart
# service tomcat7 start



2.動作状況確認URLにアクセス 

IdPサーバ自身から以下のようにアクセスして確認します。

※ホスト名は必ず localhost(もしくは127.0.0.1)として下さい。

# wget -O - http://localhost/idp/status

外部からステータスページにアクセスしたい場合

監視サーバからのアクセスなど、外部からアクセスしたい場合は、アクセス元のIPアドレスを許可する必要があります。
設定を変更した場合は、再度Tomcatの再起動を行ってください。 

 /opt/shibboleth-idp/conf/access-control.xml ファイルにアクセス元となるIPアドレスを設定してください。

<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.結果の確認 

各サービスの動作状況が確認できます。以下のようにShibboleth IdPのバージョンを含めて各種情報が表示され、以下と比較して大きな違いがなければ、IdPの機能が正常に動作していることの確認が出来ました。

--2017-09-07 15:48:41--  http://localhost/idp/status
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1762 (1.7K) [text/plain]
Saving to: ‘STDOUT’

 0% [                                                ] 0           --.-K/s
### Operating Environment Information
operating_system: Linux
operating_system_version: 3.10.0-514.6.1.el7.x86_64
operating_system_architecture: amd64
jdk_version: 1.8.0_141
available_cores: 1
used_memory: 96 MB
maximum_memory: 1500 MB

### Identity Provider Information
idp_version: 3.2.1
start_time: 2017-09-07T15:34:51+09:00
current_time: 2017-09-07T15:48:41+09:00
uptime: 830594 ms

service: shibboleth.LoggingService
last successful reload attempt: 2017-09-07T06:34:19Z
last reload attempt: 2017-09-07T06:34:19Z

service: shibboleth.ReloadableAccessControlService
last successful reload attempt: 2017-09-07T06:34:26Z
last reload attempt: 2017-09-07T06:34:26Z

service: shibboleth.MetadataResolverService
last successful reload attempt: 2017-09-07T06:34:24Z
last reload attempt: 2017-09-07T06:34:24Z

    metadata source: ShibbolethMetadata
    last refresh attempt: 2017-09-07T06:34:25Z
    last update: 2017-09-07T06:34:25Z

service: shibboleth.RelyingPartyResolverService
last successful reload attempt: 2017-09-07T06:34:24Z
last reload attempt: 2017-09-07T06:34:24Z

service: shibboleth.NameIdentifierGenerationService
last successful reload attempt: 2017-09-07T06:34:23Z
last reload attempt: 2017-09-07T06:34:23Z

service: shibboleth.AttributeResolverService
last successful reload attempt: 2017-09-07T06:34:22Z
last reload attempt: 2017-09-07T06:34:22Z

    DataConnector staticJaOrganizationName: has never failed

    DataConnector staticOrganizationName: has never failed

    DataConnector staticEntitlementCommonLibTerms: has never failed

    DataConnector computedID: has never failed

    DataConnector myLDAP: has never failed

service: shibboleth.AttributeFilterService
last successful reload attempt: 2017-09-07T06:34:22Z
last reload attempt: 2017-09-07T06:34:22Z

100%[===============================================>] 1,762       --.-K/s   in 0s      

2017-09-07 15:48:41 (85.1 MB/s) - written to stdout [1762/1762]


500 Internal Server Error

wgetコマンドの出力に以下のエラーが含まれます。

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.2.1およびそれ以前で記録されている以下のエラーは無視してください。3.3.0で修正されました。

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.利用するコネクタを設定します。


レスポンスがないもしくは503 Service Unavailable

Tomcat起動/再起動後、起動が完了するまでしばらく時間がかかりますので、しばらくしてから再度試してください。

起動に10分前後の時間を要している場合、他の要因が考えられます。ログでは以下の2行の時間に大きな差がある場合です。特にCentOS 7、もしくはJava 8で問題になるようです。

2017-03-02 16:30:18,000 - INFO [net.shibboleth.ext.spring.util.SchemaTypeAwareXMLBeanDefinitionReader:317] - Loading XML bean definitions from file [/opt/shibboleth-idp/conf/attribute-filter.xml]
2017-03-02 16:37:14,021 - INFO [net.shibboleth.ext.spring.context.FilesystemGenericApplicationContext:581] - Refreshing ApplicationContext:shibboleth.AttributeFilterService: startup date [Thu Mar 02 16:37:14 JST 2017]; parent: Root WebApplicationContext

上記2行の間に以下の行が挟まっている場合があります。

2017-03-02 16:30:18,975 - WARN [net.shibboleth.idp.attribute.filter.spring.impl.AbstractWarningFilterParser:70] - Configuration contains at least one element in the deprecated 'urn:mace:shibboleth:2.0:afp:mf:basic' namespace.

該当する場合、Java 8の場合は $JAVA_HOME/lib/security/java.security の以下の行を"random"→"urandom"にしてください。症状が改善されるはずです。

securerandom.source=file:/dev/urandom

/etc/sysconfig/tomcat 等の JAVA_OPTS

-Djava.security.egd=file:/dev/./urandom

を追加してください。

セキュリティのための処理をスキップしますので、「構築時のみこの設定を行い実運用時は元に戻す」等、取り扱いにはご注意ください。

関連: 貴学にてIdPv3をインストールする場合の構築手順の動作要件の「Java 7 or 8」の項
詳細(Shibboleth Wiki): Installationの2つ目の注意書き, Troubleshootingの"Slow startup time"の2つ目


番外編

3.2.1およびそれ以前の場合、/idp/statusにアクセスした際以下のエラーがidp-process.logに記録されますが無視してください。テンプレートが*.vmでなく*.jspで提供されている場合必ず出力されるものです。
3.3.0で出力しないよう修正されております。以前のバージョンの conf/logback.xml を引き続き使っている場合は、dist/conf/logback.xml.dist を参考に修正してください。

2016-06-27 12:34:56,760 - ERROR [org.apache.velocity:96] - ResourceManager : unable to find resource 'status.vm' in any resource loader.

  Parent Page  

  • ラベルがありません