postgresql Java代理与postgres的连接
有人能帮我或提出解决方案吗?我想从有防火墙的计算机连接到运行postgres服务器的其他计算机。问题是,计算机(客户端)有防火墙,我没有权限配置它,或者打开端口,ping没有响应。PostgreSQL具有开放端口但由于防火墙原因无法从另一台连接到它的计算机(服务器)。我只能通过代理访问计算机
我怎么能用Java编程通过代理远程访问postgres忘记防火墙
Java与代理有连接。但我不知道如何把它与postgres连接起来
System.getProperties().put( "proxySet", "true" );
System.getProperties().put( "proxyHost", "67.210.82.198" );
System.getProperties().put( "proxyPort", "80" );
URL validateURL = new URL("http://domain.com");
URLConnection urlConnection = validateURL.openConnection();
//how put together ???
Class.forName("org.postgresql.Driver");
Connection connection = DriverManager.getConnection("jdbc:postgresql://ipPublica:5432/DataBase","user", "pass");
# 1 楼答案
您将需要SOCKS代理,而不是HTTP代理
然后,您的代码将如下所示:
详情: http://docs.oracle.com/javase/7/docs/technotes/guides/net/proxies.html
# 2 楼答案
这个问题很老了。PostgreSQL邮件列表中也有这样的问题:
http://archives.postgresql.org/pgsql-jdbc/2010-08/msg00021.php
那边的答案归结起来是:
穿袜子
如果(大如果!)如果你想破解JDBC驱动程序源代码,你可能会(大“可能”!)能够使用SSL在HTTP代理上工作
伙伴:有人提出了一个ssh隧道
# 3 楼答案
试一试
有关更多信息,请参见java networking & proxies
# 4 楼答案
那是不可能的。PostgreSQL连接不是HTTP连接。Yo无法对PostgreSQL使用HTTP代理。也许一个袜子代理会做这项工作