Docs Menu
Docs Home
/ / /
Kotlin 코루틴
/ /

SOCKS5 프록시를 사용하여 MongoDB에 연결하기

이 가이드에서는 SOCKS5 프록시 를 사용하여 MongoDB 코틀린(Kotlin) 드라이버를 사용하여 MongoDB에 연결하는 방법을 배울 수 있습니다. SOCKS5는 프록시 서버를 통해 네트워크 서비스와 통신하기 위한 표준화된 프로토콜입니다.

SOCKS 프로토콜 에 학습 보려면5 SOCKS에 대한 Wikipedia 항목을 참조하세요.

프록시 설정은 SOCKS5 프록시 서버 주소와 인증 자격 증명을 지정합니다. MongoClientSettings 인스턴스 또는 연결 문자열에서 설정을 지정할 수 있습니다.

다음 표에서는 SOCKS5 클라이언트 옵션을 설명합니다.

이름
허용되는 값
설명

proxyHost

문자열

SOCKS5 프록시 IPv4 주소, IPv6 주소 또는 호스트 이름을 지정합니다. SOCKS5 프록시에 연결하려면 이 값을 제공해야 합니다.

proxyPort

Non-negative integer

SOCKS5 프록시 서버의 TCP 포트 번호를 지정합니다. proxyHost 에 값을 설정하면 이 옵션의 기본값은 1080 이지만 다른 포트 번호를 지정할 수 있습니다.

proxyUsername

문자열

SOCKS5 프록시 서버에 대한 인증을 위한 사용자 이름을 지정합니다. 드라이버는 이 설정의 null 및 빈 문자열 값을 무시합니다. 드라이버에서는 proxyUsernameproxyPassword에 대한 값을 모두 전달하거나 두 값을 모두 생략해야 합니다.

proxyPassword

문자열

SOCKS5 프록시 서버에 대한 인증을 위한 비밀번호를 지정합니다. 드라이버는 이 설정의 null 및 빈 문자열 값을 무시합니다. 드라이버에서는 proxyUsernameproxyPassword에 대한 값을 모두 전달하거나 두 값을 모두 생략해야 합니다.

다음 예제는 SOCKS5 프록시를 사용하여 MongoDB 에 연결하는 MongoClient 를 인스턴스화하는 방법을 보여줍니다. 프록시 설정은 MongoClientSettings 인스턴스 또는 연결 string 에서 지정할 수 있습니다. 이 예제에서는 SOCKS5 프록시 설정 섹션에 설명된 자리 표시자 값을 사용합니다. 자리 표시자를 프록시 사양 및 자격 증명 으로 바꿉니다.

다음 코드 예시에서는 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()
)

다음 코드 예제에서는 연결 문자열에 SOCKS5 프록시 설정을 지정하는 방법을 보여줍니다.

val connectionString = ConnectionString(
"mongodb+srv://<user>:<password>@<cluster-url>/?" +
"proxyHost=<proxyHost>" +
"&proxyPort=<proxyPort>" +
"&proxyUsername=<proxyUsername>" +
"&proxyPassword=<proxyPassword>"
)
val mongoClient = MongoClient.create(connectionString)

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.

돌아가기

TLS/SSL

이 페이지의 내용