SOCKS5 プロキシを使用した MongoDB への接続
Overview
このガイドでは、SOCKS 5プロキシを使用して MongoDB に接続する方法を学習できます。 SOCKS 5は、プロキシ サーバーを介してネットワーク サービスで通信するための標準化プロトコルです。
Tip
SOCKS5 プロトコルの詳細については、 Wikipedia の SOCKS に関するエントリを参照してください。
SOCKS 5プロキシ設定
プロキシ設定では、SOCKS 5プロキシ サーバーのアドレスと認証情報を指定します。 設定は、 MongoClientSettingsのインスタンスまたは接続stringで指定できます。
重要
次のいずれかに当てはまる場合、ドライバーはプロキシ設定を無視します。
Unix ドメイン ソケットが通信を処理します。 詳細については、 UnixServerAddress のドキュメントを参照してください。
TransportSettings
は構成されています。 詳細については、 TransportSettings のドキュメントを参照してください。
次の表では、SOCKS 5クライアント オプションについて説明します。
名前 | 許容値 | 説明 |
---|---|---|
proxyHost | 文字列 | SOCKS 5プロキシ IPv 4アドレス、IPv 6アドレス、またはホスト名を指定します。 SOCKS 5プロキシに接続するには、この値を指定する必要があります。 |
proxyPort | 非負整数 | SOCKS 5プロキシ サーバーの 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
ビルダーを使用して SOCKS 5プロキシ設定を指定する方法を示しています。
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());
接続stringでのプロキシ設定の指定
次のコード例は、 接続stringで SOCKS5 プロキシ設定を指定する方法を示しています。
String connectionString = "mongodb+srv://myDatabaseUser:myPassword@example.org/" + "?proxyHost=<proxyHost>" + "&proxyPort=<proxyPort>" + "&proxyUsername=<proxyUsername>" + "&proxyPassword=<proxyPassword>"; MongoClient mongoClient = MongoClients.create(connectionString);
API ドキュメント
このガイドで説明するメソッドとタイプの詳細については、次の API ドキュメントを参照してください。