我在http://github.com/KPB-US/dispatch-display有一个项目,在其中我根据套接字连接时的ip地址确定显示[客户端]所属的[fire]站点。
我设置了一个docker组合,因此可以使用docker-compose build和docker-compose轻松启动并运行它。这将构建一个nginx服务器,该服务器指向在节点服务器上运行的上游节点应用程序。
当我在docker-compose.yml中的两个服务中指定network_mode:“host”时,一切运行正常。我宁愿让它使用docker默认网络模式更安全地运行 - 但是当我这样做时,我得到NATed [我想,看下面的示例消息]来自客户端的IP地址而不是他们的实际IP地址,所以我不喜欢知道他们来自哪个电台[客户]。
已尝试连接,但远程地址未成功 在STATIONS列表中注册 - 172.18.0.1
我根据x-forwarded-for标头确定传入的IP地址,如果丢失,则确定socket.conn.remoteAddress。
关于如何解决这个问题的任何想法?我想将容器与网络隔离(如上所述),但仍然能够知道传入连接的来源。