NAT后面的akka??集群节点(使用docker)
是否有可能在NAT后面运行akka节点(每个节点都在单独的nat后面,公共端口是DNAT到私有)?目前我正在尝试在docker容器中部署akka节点. Docker是natting公共端口到实例私有端口,问题是akka节点的地址是从akka.remote.netty.tcp.hostname创建的,但在natted环境中它与面向公共端口的主机名不同.来自公共接口的消息被拒绝,因为akka绑定到私有ip.是否可以更改akka节点地址而不是尊重akka.remote.netty.tcp.hostname,假设当前节点地址为akka.tcp://ClusterSystem@172.16.10.5:2551,其中172.16.10.5是akka.remote.netty .tcp.hostname,但我想将其更改为akka.tcp://ClusterSystem@10.2.0.222:2551,其中10.2.0.222是公共可访问的地址,但akka仍应该在172.16.10.5:2551上进行侦听. 最佳答案
也许你可以指示Akka或Netty绑定特定的地址和端口,但是在另一个地址和端口上宣布自己.我不太了解Akka或Netty,知道它是否可行.
否则,您可以尝试三件事: >检查他们是否可以宣布给定的IP地址(主机之一),但仍然绑定到0.0.0.0,然后执行“身份端口绑定”,即docker run -p 1234:1234 …这将暴露端口1234在容器外面到容器内的端口1234(从而稍微减轻了NAT); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |