2016-08-30 13 views
1

1台のサーバーに2台のkeymanagerノード、2台のpub-storeノード、1台のゲートウェイマネージャーノードと2台のゲートウェイワーカーノードを配備し、nginxをロードバランス用に配備しました。 APIコンソール経由でAPIにアクセスしようとすると、次のエラーが報告されました:WSO2 APIM 2.0 APIストアからAPIコンソールを試したときのクラスタリングデプロイメントの問題

TID: [-1234] [] [2016-08-29 21:10:57,237] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to Unclassified Authentication Failure {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} 
TID: [-1234] [] [2016-08-29 21:10:57,238] ERROR {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failed with error 900900 {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} 
org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException: Error while accessing backend services for API key validation 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.WSAPIKeyDataStore.getAllURITemplates(WSAPIKeyDataStore.java:77) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.getAllURITemplates(APIKeyValidator.java:635) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.doGetAPIInfo(APIKeyValidator.java:487) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.findMatchingVerb(APIKeyValidator.java:459) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIKeyValidator.getResourceAuthenticationScheme(APIKeyValidator.java:251) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.oauth.OAuthAuthenticator.authenticate(OAuthAuthenticator.java:119) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler.handleRequest(APIAuthenticationHandler.java:117) 
    at org.apache.synapse.rest.API.process(API.java:325) 
    at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:90) 
    at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69) 
    at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:300) 
    at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:75) 
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 
    at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:319) 
    at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:152) 
    at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.wso2.carbon.apimgt.gateway.handlers.security.APISecurityException: Error while accessing backend services for API key validation 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.getAllURITemplates(APIKeyValidatorClient.java:171) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.WSAPIKeyDataStore.getAllURITemplates(WSAPIKeyDataStore.java:75) 
    ... 18 more 
Caused by: java.lang.NullPointerException 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.toTemplates(APIKeyValidatorClient.java:193) 
    at org.wso2.carbon.apimgt.gateway.handlers.security.keys.APIKeyValidatorClient.getAllURITemplates(APIKeyValidatorClient.java:166) 
    ... 19 more 

設定の問題は何ですか? enter image description here

+0

あなたは 'AdvancedThrottlingEnabled = true'で走っていますか? – Bee

+0

私はAdvancedThrottlingEnabled = falseで動作しています。現在のクラスタPOC段階ではまだトラフィックマネージャを導入していません。 –

答えて

1

これは既知の問題であり、fixed in latest masterです。回避策が見つかると、私はその答えを確認して更新します。

+1

私はコードを修正した後、別の問題が発生しました: 2016-08-30 04:36:49,465 [ - ] [PassThroughMessageProcessor-4]エラーServerWorker GETの処理中にエラーが発生しました:/pizzashack/1.0.0/menu。エラーの詳細:null org.wso2.carbon.apimgt.gateway.handlers.throttling.ThrottleHandler.doRoleBasedAccessThrottlingWithCEPで java.lang.NullPointerExceptionが \t(ThrottleHandler.java:197) \t ... –

+0

私が偽EnableAdvanceThrottling =をconfigedにそれが原因だと思われますか? APIHandlerServiceComponent.javaから、(this.configuration.getThrottleProperties()。isEnabled()) {... ServiceReferenceHolder.getInstance()。setThrottleDataHolder(throttleDataHolder); ...}アドバンススロットリングはAPIM 2.0になければなりませんか? –

+0

これは必須ではありません。私は確認し、エラーに関してあなたに連絡します。 – Bee

関連する問題