【问题标题】:WSO2 API Manager Gateway clustering. How to setup gateway endpoint in api-manager.xmlWSO2 API Manager 网关集群。如何在 api-manager.xml 中设置网关端点
【发布时间】:2016-12-16 18:27:58
【问题描述】:

我计划为我的公司使用 WSO2 API 管理器,因此尝试使其在集群中工作。

它由 Keymanager、Gateway(manager, worker)、Publisher、Store on 2 个 AWS 实例组成。

Host1 包含 Keymanager、Gateway manager、Publisher、Store。 Host2 包含网关工作器。

我困惑的一点是如何在 /repository/conf/api-manager.xml 文件中配置正确的设置。

案例 1) 在 GatewayEndpoint 中设置 gateway.manager.com

<APIGateway>
  . . . 
    <ServerURL>https://gateway.manager.com:9444/services/</ServerURL>
    <Username>admin</Username>
    <Password>admin</Password>
    <GatewayEndpoint>http://gateway.manager.com:8281, https://gateway.manager.com:8244</GatewayEndpoint>
. . .
</APIGateway>

案例 2)在 GatewayEndpoint 中设置 gateway.worker.com

<APIGateway>
  . . . 
    <ServerURL>https://gateway.manager.com:9444/services/</ServerURL>
    <Username>admin</Username>
    <Password>admin</Password>
    <GatewayEndpoint>http://gateway.worker.com:8280, https://gateway.worker.com:8243</GatewayEndpoint>
. . .
 </APIGateway>

主机 200.100.100.123 gateway.manager.com 200.100.100.234 gateway.worker.com


谢谢,问候

【问题讨论】:

    标签: wso2 wso2-am api-manager


    【解决方案1】:

    您无需在网关管理器上进行 APIGateway 配置,因为您在一个节点中使用网关管理器、密钥管理器、发布者、存储。

    您可以如下配置网关管理器节点

    <APIGateway>
        <Environments>
            <Environment type="hybrid">
            ...
                <ServerURL>https://gateway.manager.com:9443/services/</ServerURL> <!-- To deploy API to gateway Manager -->
                <Username>admin</Username>
                <Password>admin</Password> 
                <GatewayEndpoint>http://gateway.worker.com:8280,https://gateway.worker.com:8243</GatewayEndpoint> <!-- To show the gateway worker URLs for API in API Store -->
            </Environment>
        </Environments> 
        ...
    </APIGateway>
    

    您无需在网关工作节点上配置任何内容。

    【讨论】:

    • 谢谢您的回复。当我第一次修改“api-manager.xml”时,我认为 GatewayEndpoint 就像你评论的那样只是 URL,但是 API 控制台测试在案例 1 中运行良好,在案例 2 中不起作用。这让我发疯了......
    【解决方案2】:

    您不需要在网关端点部分定义网关管理器 URL。当您单击 API 并查看详细信息时,API 商店将使用网关端点部分列出 API 网关 URL。因此,您可以对所有节点使用以下配置,而不会出现任何问题。

    <GatewayEndpoint>http://gateway.worker.com:8280, https://gateway.worker.com:8243</GatewayEndpoint>
    

    您需要在发布者中定义网关服务器 URL 如下,主要是因为它将使用此 URL 将 API 发布到网关管理器。

    <ServerURL>https://gateway.manager.com:9444/services/</ServerURL>
    

    【讨论】:

    • 感谢您的快速回复,但有一个问题。当我为 GatewayEndpoint 设置案例 2 时,API Store 中的 API 控制台测试返回错误代码。 (没有内容,服务器没有响应)。当我为 GatewayEndpoint 设置 Case1 时,API Store 中的 API 控制台测试运行良好(它返回具有正确值的响应代码 200)。如果是 Case1,我不确定工作节点是否正常工作。所以我认为 GatewayEndpoint 是配置过程中最重要的一点。
    • 在您使用 API 控制台之前,请尝试在您的浏览器中粘贴网关工作人员通过传输 URL (gateway.worker.com:8243) 并让浏览器处理客户端证书交换。或者您可以将 API 调用 URL 粘贴到浏览器中,然后按回车键一次。然后您将能够使用 API 控制台访问 API。
    • 谢谢,我已经解决了这个问题。网关工作节点返回正确的响应。
    • 很高兴听到这个消息。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多