Docs 菜单
Docs 主页
/ / /
Java (Sync) 驱动程序
/

使用 SOCKS5 代理连接到 MongoDB

在此页面上

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

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

提示

要学习;了解有关 SOCKS5 协议的详情,请参阅有关 SOCKS 的 维基百科条目。

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

重要

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

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

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

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

名称
接受的值
说明

proxyHost

字符串

指定 SOCKS5 代理 IPv4 解决、IPv6 解决或主机名。您必须提供此值才能连接到 SOCKS5 代理。 | | 默认值null

代理端口

非负整数

Specifies the TCP port number of the SOCKS5 proxy server.

Default: 1080 when you set proxyHost

proxyUsername

字符串

指定用于 SOCKS5 代理服务器身份验证的用户名。驾驶员会忽略此设置的 null 和空字符串值。驾驶员要求您同时传递 proxyUsernameproxyPassword 的值,或者省略这两个值。 | | 默认值null

proxyPassword

字符串

指定用于向 SOCKS5 代理服务器进行身份验证的密码。驱动程序会忽略此设置的 null 和空字符串值。驱动程序要求您同时传递 proxyUsernameproxyPassword 的值,或者省略这两个值。

Default: null

以下示例演示如何使用 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