我的Java应用程序在具有2个IP,一个内部IP和一个外部IP的Linux机器上运行。所有第三方应用程序都使用外部IP连接到我的应用程序。当我的应用程序与数据库建立连接时(运行我的应用程序的同一台机器中的数据库),我的Java应用程序是否使用哪个NIC卡IP,内部IP或外部IP?怎么找到这个?
答案 0 :(得分:2)
这是您的操作系统根据路由表决定这一点。如果两个IP位于不同的子网中,则添加类似ip route add 192.168.1.0/24 dev eth0
的路由将强制所有连接到任何192.168.0 / 24网络的连接使用eth0
如果它们与你的情况一样在同一台机器上,那么操作系统应该使用lo 127.0.0.1
接口。