“文档” 菜单
文档首页
/ / /
Java (Sync) 驱动程序
/ /

使用 SOCKS5 代理连接到 MongoDB

在此页面上

  • 概述
  • SOCKS5 代理设置
  • 举例
  • 在 MongoClientSettings 中指定代理设置
  • 在连接字符串中指定代理设置
  • API 文档

在本指南中,您可以了解如何使用 SOCKS5 代理连接到 MongoDB。SOCKS5 是一种标准化协议,用于通过代理服务器与网络服务通信。

提示

要了解有关 SOCKS5 协议的更多信息,请参阅有关 SOCKS 的 维基百科条目。

代理设置指定 SOCKS 5代理服务器地址和您的身份验证档案。您可以在 MongoClientSettings实例或连接字符串中指定设置。

重要

如果满足以下任一条件,驱动程序将忽略代理设置:

  • Unix 域套接字处理通信。 有关更多信息,请参阅 UnixServerAddress 文档。

  • TransportSettings 已配置。 有关更多信息,请参阅 TransportSettings 文档。

下表描述了 SOCKS5 客户端选项:

名称
接受的值
说明
proxyHost
字符串
指定 SOCKS5 代理 IPv4 地址、IPv6 地址或主机名。必须提供此值才能连接到 SOCKS5 代理。
代理端口
非负整数
指定 SOCKS5 代理服务器的 TCP 端口号。当您设置 proxyHost 时,此选项默认为 1080
proxyUsername
字符串
指定用于向 SOCKS5 代理服务器进行身份验证的用户名。驱动程序忽略此设置的 null 和空字符串值。驱动程序要求您同时传递 proxyUsernameproxyPassword 的值,或者省略这两个值。
proxyPassword
字符串
指定用于向 SOCKS5 代理服务器进行身份验证的密码。驱动程序会忽略此设置的 null 和空字符串值。驱动程序要求您同时传递 proxyUsernameproxyPassword 的值,或者省略这两个值。

以下示例演示如何使用 SOCKS5 代理实例化连接到 MongoDB 的 MongoClient。代理设置可以在 MongoClientSettings 实例或连接字符串中指定。这些示例使用 SOCKS5 代理设置部分中说明的占位符值。请用您的代理设置替换占位符。

以下代码示例显示如何使用 MongoClientSettings 构建器指定 SOCKS5 代理设置:

MongoClient mongoClient = MongoClients.create(
MongoClientSettings.builder()
.applyConnectionString(
new ConnectionString("mongodb+srv://myDatabaseUser:myPassword@example.org/"))
.applyToSocketSettings(builder ->
builder.applyToProxySettings(proxyBuilder ->
proxyBuilder
.host("<proxyHost>")
.port(<proxyPort>)
.username("<proxyUsername>")
.password("<proxyPassword>")
)
).build());

下面的代码示例展示了如何在连接字符串中指定 SOCKS5 代理设置:

String connectionString = "mongodb+srv://myDatabaseUser:myPassword@example.org/" +
"?proxyHost=<proxyHost>" +
"&proxyPort=<proxyPort>" +
"&proxyUsername=<proxyUsername>" +
"&proxyPassword=<proxyPassword>";
MongoClient mongoClient = MongoClients.create(connectionString);

要进一步了解本指南中讨论的方法和类型,请参阅以下 API 文档:

← 在连接上启用 TLS/SSL