WSO2 API管理器网关群集。如何在api-manager.xml中设置网关端点

WSO2 API管理器网关群集。如何在api-manager.xml中设置网关端点,wso2,wso2-am,api-manager,Wso2,Wso2 Am,Api Manager,我有一个计划为我的公司使用WSO2 API管理器,所以我试图让它在集群中工作 它由2个AWS实例上的Keymanager、网关(管理器、工作器)、发布器和存储组成 主机1包含密钥管理器、网关管理器、发布服务器和存储。 主机2包含网关工作程序 我混淆的一点是如何在/repository/conf/api-manager.xml文件中为配置正确的设置 案例1)在GatewayEndpoint中设置gateway.manager.com <APIGateway> . . .

我有一个计划为我的公司使用WSO2 API管理器,所以我试图让它在集群中工作

它由2个AWS实例上的Keymanager、网关(管理器、工作器)、发布器和存储组成

主机1包含密钥管理器、网关管理器、发布服务器和存储。 主机2包含网关工作程序

我混淆的一点是如何在/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>

. . . 
https://gateway.manager.com:9444/services/
管理
管理
http://gateway.manager.com:8281, https://gateway.manager.com:8244
. . .
案例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>

. . . 
https://gateway.manager.com:9444/services/
管理
管理
http://gateway.worker.com:8280, https://gateway.worker.com:8243
. . .

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



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

<GatewayEndpoint>http://gateway.worker.com:8280, https://gateway.worker.com:8243</GatewayEndpoint>
http://gateway.worker.com:8280, https://gateway.worker.com:8243
您需要在publisher中定义网关服务器URL,如下所示,主要是因为它将使用此URL将API发布到网关管理器

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

您不需要在网关管理器上配置网关,因为您正在一个节点中使用网关管理器、密钥管理器、发布者、存储

您可以按以下方式配置网关管理器节点

<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>

...
https://gateway.manager.com:9443/services/ 
管理
管理
http://gateway.worker.com:8280,https://gateway.worker.com:8243 
...

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

thx以获得快速回复,但存在一个问题。当我为GatewayEndpoint设置案例2时,API存储中的API控制台测试返回错误代码。(没有内容,服务器没有响应)。当我为GatewayEndpoint设置Case1时,API存储中的API控制台测试运行良好(它返回带有正确值的响应代码200)。在案例1中,我不确定worker节点是否工作。所以我认为GatewayEndpoint是配置过程中最重要的一点。在使用API控制台之前,请尝试在浏览器中粘贴gateway worker pass through transport URL(),并让浏览器处理客户端证书交换。或者,您可以在浏览器中粘贴API调用URL并按enter键一次。然后您就可以使用API控制台访问API了。谢谢,我已经解决了这个问题。网关工作节点返回正确的响应。很高兴听到这个消息。谢谢你的答复。当我第一次修改“api manager.xml”时,我认为GatewayEndpoint就像您所评论的那样只是URL,但是api控制台测试在案例1中运行良好,在案例2中不起作用。它让我疯狂。。。