1,Gateway、Worker、Register都在局域网中;
2,局域网中有台路由与外界互通;
3,客户端与客户项目均在外网,需要与局域网的服务链接;
因为项目所处的网络环境不是直接在公网上,导致外网Api接口无法将客户端获取的client_id解析成Gateway所在的公网地址,也尝试将gateway的lan_ip改为公网地址,但公网IP并不属于gateway所在服务器,也无法启动;
所有外网至局域网的请求,都通过端口转发的方式,如下图:
[attach]1859[/attach]
请问有什么解决方案吗?
如果gatewayClient和Gateway不在一个内网,Gateway服务本身没有外网网卡,gatewayclient是无法与之通讯的。
不过这种情况可以不使用gatewayClient,可以在gateway开个text端口,后端通过text协议向GatewayWorker发请求。参考手册http://doc2.workerman.net/push-in-other-project.html 方法三