8

我想通过代理服务器与位于我的网络外部的 Oracle DB 服务器通信。我可以通过带有代理设置的浏览器访问托管在同一台机器上的 Web 应用程序。一个简单的Java程序可以通过代理服务器建立JDBC连接吗?

*提供一个例子会更好*

问候。

4

2 回答 2

6

如果代理只是一个 HTTP 代理,那么没有。但如果代理传输 TCP/IP 流量,则可以。

如何做到这一点,请查看如何设置 JVM 使用的代理http://docs.oracle.com/javase/6/docs/technotes/guides/net/proxies.html

于 2012-09-13T11:03:54.003 回答
1

Oracle JDBC(以及任何其他 JDBC 连接)不是基于 HTTP 的协议,因此代理必须在 TCP 层完成。

出于这个原因,你不能使用例如 Squid Proxy(它只在 HTTP 层做代理),但是还有很多其他的代理服务可以在 TCP 层工作:

  • nginx代理
  • 代理服务器

在前者有一个很好的分步指南如何使用 NGINX https://kwjrnl.wordpress.com/2015/07/27/tcp-proxy-with-nginx-for-jdbc-connection/

于 2020-06-10T18:52:36.673 回答