首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以为JDBC连接指定*源* IP地址吗?

我可以为JDBC连接指定*源* IP地址吗?
EN

Stack Overflow用户
提问于 2017-07-25 15:59:23
回答 2查看 2.2K关注 0票数 1

我有一个用JDBC驱动程序连接到数据库的Java应用程序。它碰巧是Postgres实例,但是如果它存在的话,我正在寻找一个通用的解决方案。

运行应用程序的服务器具有多个IP地址,它们都位于同一子网中。JDBC连接是使用服务器的“主”IP建立的。

我可以用玩Linux网络栈向外连接到数据库,使用辅助IP地址。

是否有一种以编程方式指定源IP地址将用于我的JDBC?

上下文:我们想移动应用程序而不接触数据库,数据库有限制它将接受连接的IP地址的规则。

我看到的唯一黑客是建立一个SSL连接,并从自定义https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLSocketFactory.html返回一个绑定到辅助IP的新套接字。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-25 16:34:49

一些googling建议它依赖于特定的JDBC驱动程序。

对于MySQL,它是通过URL上的属性完成的:

代码语言:javascript
复制
jdbc:mysql://localhost:3306/sakila?localSocketAddress=123.33.33.33

(见https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html)

Postgres的例子中,看起来最好的选择是socketFactory URL属性--只创建普通的旧套接字,而不是SSL。

(见https://jdbc.postgresql.org/documentation/head/connect.html#connection-parameters)

票数 3
EN

Stack Overflow用户

发布于 2021-03-04 20:09:24

以下PR添加了在PostgreSQL JDBC驱动程序上配置PostgreSQL的特性:https://github.com/pgjdbc/pgjdbc/pull/2082

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45308319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档