wso2 api管理器集群

我正在尝试为WSO2 API管理器设置集群,并且我正在遵循https://docs.wso2.com/display/CLUSTER44x/Clustering+API+Manager+1.10.0

我正在为每个组件使用单独的虚拟机,并且目前正在使用我的设置

  • 使用在网关中发布的发布者发布api(可见于日志中)
  • 从商店订阅此API并生成密钥
  • 但是当我试图使用生成的密钥访问此API时,我得到以下响应

    <soapenv:Fault xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <faultcode xmlns:axis2ns2="http://schemas.xmlsoap.org/soap/envelope/">axis2ns2:Client</faultcode>
        <faultstring>Authentication Failure</faultstring>
        <detail>Error while accessing backend services for API key validation</detail>
    </soapenv:Fault>
    

    在网关日志中,我只能看到下面的行。 日志中没有更多细节

    TID: [-1234] [] [2016-02-02 16:55:58,288]  WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticat
    ionHandler} -  API authentication failure due to Unclassified Authentication Failure {org.wso2.carbon.apimgt.gat
    eway.handlers.security.APIAuthenticationHandler}
    

    请帮我解决这个问题。


    这听起来像是你的API的问题 - 除非你使用身份服务器,否则API管理器实际上不会“认证任何东西”,请参阅此处以了解认证和授权(WSO2通过Oauth执行的操作)之间的区别。 请尝试使用已知的API,例如http://petstore.swagger.io/并报告错误。


    这可能由于许多原因而发生。 请检查下面的一些原因

  • 密钥管理器的公共证书未正确导入<GATEWAY_HOME>/repository/resources/security/client-truststore.jks
  • 打开网关和密钥管理器节点的api-manager.xml文件,并将<KeyValidatorClientType>更改为WSClient(默认值为ThriftClient )。

    <KeyValidatorClientType>WSClient</KeyValidatorClientType>
    

  • 原因可能是节点之间的配置错误。 首先,您可以仔细检查配置(特别是与keyvalidator相关的配置)

    如果您在那里找不到任何问题,那么您可以启用调试日志并了解问题

    在网关节点的repository / conf / log4j.properties中添加以下条目

    log4j.logger.org.wso2.carbon.apimgt.gateway.handlers.security=DEBUG
    

    在密钥管理器节点的repository / conf / log4j.properties中添加以下条目

    log4j.logger.org.wso2.carbon.apimgt.keymgt=DEBUG
    

    您可以通过分析日志来找到问题

    链接地址: http://www.djcxy.com/p/22249.html

    上一篇: wso2 api manager clustering

    下一篇: How do I use AWS cognito response to authenticate API requests