启用 SOCKS5 代理支持
Overview
在本指南中,您可以了解如何使用 SOCKS5 代理连接到 MongoDB 实例。SOCKS5 是一种标准化协议,用于通过代理服务器连接到网络服务。
提示
要学习;了解有关 SOCKS5 协议的详情,请参阅有关 SOCKS 的 维基百科条目。
安装 socks 软件包
从 Node.js 驱动程序 6.0 版开始,您必须安装 socks
软件包才能在应用程序中使用 SOCKS5 代理支持。可以通过在 shell 中运行以下命令来安装 socks
:
npm i socks
SOCKS5 客户端选项
您可以在 MongoClientOptions
实例或连接 URI 中设置选项,为您的连接配置 SOCKS5 代理支持。下表描述了与 SOCKS5 相关的客户端选项:
名称 | 接受的值 | 默认值 | 说明 |
---|---|---|---|
proxyHost | 字符串 | null | 指定 SOCKS5 代理的 IPv4 地址、IPv6 地址或域名。 |
代理端口 | non-negative integer | null | 指定 SOCKS5 代理服务器的 TCP 端口号。如果设置了 proxyHost 选项,则此选项的值默认为 1080 。 |
proxyUsername | 字符串 | null | 指定用于向 SOCKS5 代理服务器进行身份验证的用户名。如果将此选项设置为零长度的字符串,驱动程序将忽略它。 |
proxyPassword | 字符串 | null | 指定用于向 SOCKS5 代理服务器进行身份验证的密码。如果将此选项设置为零长度的字符串,驱动程序将忽略它。 |
重要
如果您设置 proxyPort
、proxyUsername
或proxyPassword
选项而不设置 proxyHost
选项,驱动程序将抛出错误。
例子
本例说明如何实例化使用 SOCKS5 代理支持的 MongoClient
。以下示例代码指定代理服务器选项并连接到 MongoDB:
// Replace the placeholder with your connection string const uri = "<connection string uri>"; // Replace the placeholders with your SOCKS5 proxy server details const socksOptions = { proxyHost: "<host>", proxyPort: 1080, proxyUsername: "<username>", proxyPassword: "<password>", }; // Create a new client with the proxy server details const client = new MongoClient(uri, socksOptions);
提示
前面的示例代码使用占位符来表示连接 URI 和代理服务器详细信息。要运行此代码,您必须将这些占位符替换为您的部署和代理服务器的信息。
更多信息
有关 SOCKS5 代理支持的更多信息,请参阅 MongoDB SOCKS5 规范。
API 文档
要进一步了解本指南所讨论的方法和类型,请参阅以下 API 文档: