我正在尝试配置网关群集(1个管理员,2个拥有Nginx的工作人员)。
Gateway集群指南给了我很多帮助,但实际上还不够。 文档的某些部分让我感到困惑,所以我不确定它是否正朝着正确的方向前进。请通过以下概述图片检查我的配置。
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;
}
}
每个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? -->
任何评论对我都有帮助。
谢谢,问候
答案 0 :(得分:0)
模式看起来不错。我建议在生产环境中为密钥管理器,网关管理器,发布者和存储分别使用主机。但是,即使您在同一台计算机上有多个组件,也应该为单独的组件保留单独的主机名。根据您的喜好选择它们。
E.g。
然后你需要根据它(根据上面的定义将地图工作者节点ips到wso2.am.com)配置Nginx。
关于管理节点的主机名和mgt主机名,您应该引用的文档是this。 例如。根据以上定义,
<HostName>wso2.am.com</HostName>
<MgtHostName>wso2.mgt-am.com</MgtHostName>
关于Worker节点的主机名和mgt主机名,您应该引用的文档是this。 例如。根据以上定义,
<HostName>wso2.am.com</HostName>
不要取消注释MgtHostName节点。
还会按照指示here和here将主机名映射到IP。此主机名映射在/ etc / hosts文件中完成,仅在DNS服务不可用时才需要。