文档菜单
文档首页
/ / /
Java 同步驱动程序
/ /

通过SOCKS5代理连接到MongoDB

本页内容

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

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

提示

要了解更多关于SOCKS5协议的信息,请参阅维基百科上的SOCKS.

代理设置指定了SOCKS5代理服务器地址和您的身份验证凭据。您可以在以下实例中指定您的设置:MongoClientSettings 或您的 连接字符串。

重要

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

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

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

以下表格描述了 SOCKS5 客户端选项

名称
接受值
描述
proxyHost
字符串
指定 SOCKS5 代理的 IPv4 地址、IPv6 地址或主机名。您必须提供此值才能连接到 SOCKS5 代理。
proxyPort
非负整数
指定 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