我遇到网络连接问题。
情况就是这样。
Java应用程序(JSP或控制台)应该连接到MongoDB和Redis。
在fisrt环境中,
在第二个有问题(更安全)的环境中,
有趣的是mongo.exe(控制台)连接到远程mongodb没有问题。 (我没有在redis上测试过)
我已经升级了最新版本的java。 将JSP版本转换为java控制台以进行测试。 并改变了一些代码。 什么都行不通。
m = new MongoDB( ADDRESS, PORT );
m.setReadPreference( ReadPreference.SECONDARY );
DB db = m.getDB("test");
db.authenticate( ID, PASS.toCharArray() ); //!< exception
MongoDB异常消息
DBPortPool gotError
Warning: emptying DBPortPool to [ADDRESS...]:27017 b/c of error
java.io.IOException: couldn't connect to [/[ADDRESS...]:27017] bc:java.net.SocketException: Permission denied: connect
Redis异常消息
JedisConnectionException: java.net.SocketException: Permission denied: connect
我认为它涉及一些安全问题。 第二台PC处于严格的安全网络中。 (我通过VPN使用它们)
答案 0 :(得分:1)
自的答案。 这是与JDK7和VPN相关的问题。 http://www.java.net/node/703177
答案 1 :(得分:0)
您是否能够远程登录远程主机和侦听端口(前提是远程计算机未完全阻止telnet尝试)?我假设您确定远程IP地址/端口号,因为您提到您的mongo控制台能够从第一台计算机连接到第二台计算机。如果你真的需要向某人展示这是一个网络问题,你可以看看在两台计算机上使用wireshark等 - 你将能够看到离开第一台计算机但从第二台计算机被拒绝的数据包。