WSO2:API无法在独立网关

时间:2018-05-21 13:31:11

标签: wso2 wso2-am gateway

我们遇到与WSO2 Authentication failure on gateway node running WSO2 AM 2.1.0中报告类似的问题,但我们的配置略有不同,我们已经做了一些额外的测试

环境: Ubuntu LTS 16.04.4 Java" 1.8.0_171" (已知报告的问题,见下文) WSO2 2.1.0 我们已经停用了3个节点中的压缩,编辑了catalina-server.xml 附加:我们在将Java降级到1.8.0_144之后重复了测试。相同的结果。

我们在同一台机器上部署了3个节点 - 1位经理wso2server.sh开始 - 2个网关wso2server.sh -Dprofile =网关管理器启动 - 为所有节点共享的唯一H2数据库集 (我们可以随时重建环境)

初始测试

  • 我们使用thrift配置了API Key Validator。在管理器节点中只有一个ThriftServer启动
  • Manager节点密钥API Key Validator(example.com更改了真实主机名)

        <APIKeyValidator>
        <ServerURL>https://apimanager.example.com:9443/services/</ServerURL>
        <Username>${admin.username}</Username>
        <Password>${admin.password}</Password>
        <KeyValidatorClientType>ThriftClient</KeyValidatorClientType>
        <ThriftClientConnectionTimeOut>10000</ThriftClientConnectionTimeOut>
        <EnableThriftServer>true</EnableThriftServer>
        <ThriftServerHost>apimanager.example.com</ThriftServerHost>
        <ThriftClientPort>10397</ThriftClientPort>
        <KeyValidationHandlerClassName>org.wso2.carbon.apimgt.keymgt.handlers.DefaultKeyValidationHandler</KeyValidationHandlerClassName>
        </APIKeyValidator>
    
  • 沙箱和网关节点密钥API密钥验证程序是相同的配置,但参数<EnableThriftServer>false

  • 除外

测试结果 在API控制台中,我们得到(我们在GET /菜单中使用PizzaShack API示例)

{ "fault": { "code": 900900, "message": "Unclassified Authentication Failure", "description": "Error while accessing backend services for API key validation" } }

网关跟踪

TID: [-1234] [] [2018-05-21 13:15:17,351]  WARN {org.wso2.carbon.apimgt.gateway.handlers.security.thrift.ThriftKeyValidatorClient} -  Login failed.. Authenticating again.. {org.wso2.carbon.apimgt.gateway.handlers.security.thrift.ThriftKeyValidatorClient}
TID: [-1234] [] [2018-05-21 13:15:17,392]  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}

经理跟踪(API控制台)

TID: [-1234] [] [2018-05-21 13:15:17,372]  INFO {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil} -  'admin@carbon.super [-1234]' logged in at [2018-05-21 13:15:17,372+0200] from IP address  {org.wso2.carbon.core.services.util.CarbonAuthenticationUtil}

启用调试的测试

由于先前的错误(参见下面Bee的评论)

,因此无法通过调试进行测试

附加测试

  • 根据原帖的建议,我们已将APIKeyValidator更改为WSClient。经过一些初步配置问题,这很好用
  • 我们也试过用CURL调用,没有变化。

0 个答案:

没有答案