我正在尝试配置网关集群(1个管理器,2个工作器与Nginx)。
网关集群指南给了我很多帮助,但实际上还不够。文件的某些部分让我感到困惑,所以我不确定它是否朝着正确的方向前进。请检查我的配置与下面的概述图片。
概览图片链接
Nginx https.conf setting
upstream wso2.am.com {
sticky cookie JSESSIONID;
server xxx.xxx.xxx.22:9443; <!-- worker node 1 -->
server xxx.xxx.xxx.33:9443; <!-- worker node 2 -->
}
server {
listen 443;
server_name nginx.wso2.com;
location / {
...
proxy_pass http://wso2.am.com;
}
}
* Store, Publisher, Keymanager设置
每个api-manager.xml文件(/repository/conf/)
<APIGateway>
...
<ServerURL>https://xxx.xxx.xxx.x11:9444/services/</ServerURL>
...
<!-- Does this endpoint work? I received nothing through this setting -->
<GatewayEndpoint>http://nginx.wso2.com, https://nginx.wso2.com</GatewayEndpoint>
...
网关管理器节点设置
特别是下面这些和设置最容易混淆。
carbon.xml文件(/repository/conf/)
<HostName>???</HostName> <!-- should be nginx host? worker host?-->
<MgtHostName>???</MgtHostName> <!-- should be nginx host? or manager node? -->
网关工作节点设置
carbon.xml文件(/repository/conf/)
<HostName>???</HostName> <!-- should be nginx host? or worker node? -->
<MgtHostName>???</MgtHostName> <!-- should be nginx host? or manager node? -->
任何意见都会对我有帮助。
Thanks, Regards
图案看起来不错。我建议在生产环境中为密钥管理器、网关管理器、发布器和存储库使用单独的主机。但是,即使在同一台机器中有多个组件,也应该为不同的组件保留不同的主机名。根据你的喜好选择。
。
- 出版商 wso2.publisher-apim.com
- 商店wso2.store-am.com 网关管理器wso2.mgt-am.com
- Gateway Workers wso2.am.com 密钥管理器wso2.km-am.com
然后您需要根据该配置Nginx(根据上述定义将工作节点的ip映射到wso2.am.com)。
关于管理节点的主机名和mgt主机名,您应该参考的文档是这样的。例:根据上述定义,
<HostName>wso2.am.com</HostName>
<MgtHostName>wso2.mgt-am.com</MgtHostName>
关于Worker节点的主机名和管理主机名,您应该参考的文档是:例:根据上述定义,
<HostName>wso2.am.com</HostName>
不要取消注释MgtHostName节点。
还按照这里和这里的指示将主机名映射到ip。这个主机名映射是在/etc/hosts文件中完成的,只有当DNS服务不可用时才需要。