SOCKS5 プロキシを使用した MongoDB への接続
Overview
このガイドでは、MongoDB Kotlin ドライバーを使用してSOCKS5 プロキシを使用して MongoDB に接続する方法を学習します。 SOCKS5 は、プロキシ サーバーを介してネットワーク サービスで通信するための標準化されたプロトコルです。
Tip
SOCKS5 プロトコルの詳細については、 Wikipedia の SOCKS に関するエントリを参照してください。
SOCKS 5プロキシ設定
プロキシ設定では、SOCKS5 プロキシ サーバーのアドレスと認証情報を指定します。 設定は、{0 のインスタンスまたはMongoClientSettings
接続 で指定できます。string
次の表では、SOCKS 5クライアント オプションについて説明します。
名前 | 許容値 | 説明 |
---|---|---|
proxyHost | 文字列 | SOCKS 5プロキシ IPv 4アドレス、IPv 6アドレス、またはホスト名を指定します。 SOCKS 5プロキシに接続するには、この値を指定する必要があります。 |
proxyPort | Non-negative integer | SOCKS5 プロキシ サーバーの TCP ポート番号を指定します。 proxyHost に値を設定すると、このオプションはデフォルトで1080 になりますが、別のポート番号を指定することもできます。 |
proxyUsername | 文字列 | SOCKS 5プロキシ サーバーへの認証に使用するユーザー名を指定します。 ドライバーは、この設定の null と空のstring値を無視します。 ドライバーでは、 proxyUsername とproxyPassword の両方の値を渡すか、両方の値を省略する必要があります。 |
proxyPassword | 文字列 | SOCKS 5プロキシ サーバーへの認証用パスワードを指定します。 ドライバーは、この設定の null と空のstring値を無視します。 ドライバーでは、 proxyUsername とproxyPassword の両方の値を渡すか、両方の値を省略する必要があります。 |
例
次の例は、SOCKS 5プロキシを使用して MongoDB に接続するMongoClient
をインスタンス化する方法を示しています。 プロキシ設定は、MongoClientSettings
インスタンスまたは 接続stringで指定できます。 これらの例では、「 SOCKS 5プロキシ設定」セクションで説明されているプレースホルダー値を使用します。 プレースホルダーをプロキシの仕様と認証情報で置き換えます。
MongoClientSettings でのプロキシ設定の指定
次のコード例は、 MongoClientSettings
インスタンスの作成時にapplyToSocketSettings()
ビルダ メソッドを使用して SOCKS5 プロキシ設定を指定する方法を示しています。
val uri = "<connection string>" val mongoClient = MongoClient.create( MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .applyToSocketSettings{ builder -> builder .applyToProxySettings{ proxyBuilder -> proxyBuilder .host("<proxyHost>") .port("<proxyPort>".toInt()) .username("<proxyUsername>") .password("<proxyPassword>") .build() } } .build() )
接続stringでのプロキシ設定の指定
次のコード例は、 接続stringで SOCKS5 プロキシ設定を指定する方法を示しています。
val connectionString = ConnectionString( "mongodb+srv://<user>:<password>@<cluster-url>/?" + "proxyHost=<proxyHost>" + "&proxyPort=<proxyPort>" + "&proxyUsername=<proxyUsername>" + "&proxyPassword=<proxyPassword>" ) val mongoClient = MongoClient.create(connectionString)
API ドキュメント
このガイドで説明するメソッドとタイプの詳細については、次の API ドキュメントを参照してください。