Docs Menu
Docs Home
/ / /
Ruby MongoDB Driver
/

드라이버 호환성

이 페이지의 내용

  • MongoDB 호환성
  • Ruby 호환성
  • Rails/ActiveSupport 호환성
  • TLS/SSL 호환성
  • Atlas 호환성
  • mongo_kerberos 호환성
  • JRuby 및 Kerberos 인증
  • JRuby 및 TLS 연결

다음 호환성 표는 MongoDB 의 특정 버전과 함께 사용할 MongoDB Ruby 운전자 의 권장 버전을 명시합니다. 표시된 경우를 제외하고 지정된 운전자 버전은 해당 서버 버전에 추가된 기능을 노출하거나 활용합니다.

MongoDB 서버 릴리스는 일반적으로 이전 버전과 호환되므로 특정 버전의 운전자 는 일반적으로 최신 버전의 서버 에서 작동하지만 최신 버전의 서버 에서 릴리스된 기능을 활용하지 못할 수 있습니다.

중요

MongoDB는 서버 버전의 수명 종료(EOL) 날짜 이후 3년 동안 MongoDB Server와 드라이버 간의 호환성을 보장합니다. MongoDB 릴리스 및 수명 종료 날짜에 대한 자세한 내용은 MongoDB 소프트웨어 수명 주기 예정을 참조하세요.

첫 번째 열은 운전자 버전을 나열합니다. 다른 열의 'D'는 해당 MongoDB 버전에 대한 지원 이 더 이상 사용되지 않으며 향후 운전자 버전에서 제거될 예정임을 의미합니다.

루비 드라이버
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6
MongoDB 3.4
MongoDB 3.2
MongoDB 3.0
MongoDB 2.6
2.21
2.20
2.19
2.18
2.17
2.16
D
D
D
D
2.15
2.14
2.13
[1]
2.12
2.11
[3]
2.10
[2] [3]
2.9
2.8
2.7
2.6
2.5
[1] OCSP 확인은 드라이버 버전 2.14 부터 구현됩니다.
[2] 샤딩된 토폴로지에서 SRV 레코드의 폴링은 운전자 버전 2.11 부터 구현됩니다.
[3](1, 2) 클라이언트 사이드 암호화는 드라이버 버전 2.12부터 구현됩니다.

이 드라이버는 이전 버전의 MongoDB를 지원하지 않습니다.

다음 호환성 표에는 다양한 버전의 MongoDB Ruby 운전자 에서 지원하는 Ruby 버전이 명시되어 있습니다.

첫 번째 열에는 드라이버 버전이 나열됩니다. "D"가 표시된 열은 해당 Ruby 버전에 대한 지원이 중단되었음을 의미합니다.

루비 드라이버
Ruby 3.2
Ruby 3.1
Ruby 3.0
Ruby 2.7
Ruby 2.6
Ruby 2.5
Ruby 2.4
Ruby 2.3
Ruby 2.2
Ruby 2.1
Ruby 2.0
Ruby 1.9
JRuby 9.4
JRuby 9.3
JRuby 9.2
JRuby 9.1
2.20 ~ 2.21
D
D
2.19
D
D
2.18
2.17
2.16
D
2.15
D
D
2.14
D
D
2.13
2.12
2.11
2.10
D
D
D
D
2.9
D
D
D
D
2.8
2.7
2.6

이 운전자 는 이전 버전의 Ruby 를 지원 하지 않습니다.

Ruby 운전자 는 ActiveSupport에 의존하지 않습니다. 그러나 애플리케이션 이 ActiveSupport 또는 Ruby on Rails를 사용하는 경우 시간 직렬화와 같은 동작이 올바르게 작동하려면 드라이버의 ActiveSupport 호환성 코드를 로드해야 합니다.

require 'mongo'
require 'mongo/active_support'

Mongoid 7.0.6 이상을 사용하는 애플리케이션은 Mongoid가 자동으로 로드하기 때문에 드라이버의 ActiveSupport 코드를 명시적으로 로드할 필요가 없습니다.

드라이버는 기본 Ruby openssl 확장에서 지원하는 프로토콜을 활용합니다. 차례로 openssl 확장은 일반적으로 운영 체제의 OpenSSL 라이브러리에 존재하는 기능을 노출합니다.

업계 권장사항 및 일부 규정에서는 TLS 1.1 이상을 사용해야 합니다. 일부 운영 체제 또는 버전에서는 이러한 TLS 버전을 지원할 만큼 새로운 OpenSSL 버전을 제공하지 않을 수 있습니다.

macOS 이전 10.13 버전(High Sierra) 사용자는 rvm 에서 Ruby를 설치해야합니다. , 홈브루, macports 또는 기타 유사한 소스입니다. Ruby-lang.org에서 설치 정보를 참조하세요. 을(를) 참조하세요.

Linux 또는 기타 비 macOS Unix 사용자는 다음과 같이 OpenSSL 버전을 확인할 수 있습니다.

openssl version

버전 번호가 1.0.1 미만인 경우 TLS 1.1 이상에 대한 지원 은 제공되지 않습니다. 솔루션 또는 최신 배포판으로 업그레이드 하려면 운영 체제 벤더 에 문의하세요.

다음 명령을 실행하여 Ruby 인터프리터를 확인할 수 있습니다.

ruby -e "require 'net/http'; require 'json'; puts JSON.parse(Net::HTTP.get(URI('https://www.howsmyssl.com/a/check')))['tls_version']"

"TLS 1.X"가 표시되어야 하며, 여기서 X는 >= 1 입니다.

여기에서 TLS 버전 및 해당 버전이 보안에 미치는 영향에 대해 자세히 알아볼 수 있습니다. .

드라이버버전 이 버전은 TLS 연결이 사용되고 모든 Atlas 연결이 TLS를 사용하므로 MongoDB Atlas를 사용할 때 이상을 사용하는 것이 좋습니다.2.6.1

JRuby에서 실행 중이고 Atlas 무료 계층에 연결하는 경우, 드라이버버전 이상 2.6.4 및 Java 이상이 필요합니다.8

다음 호환성 표는 운전자 의 특정 버전과 함께 사용할 mongo_kerberos 라이브러리 의 버전을 지정합니다.

루비 드라이버
mongo_kerberos   2.1
2.7 - 2.19

JRuby를 사용한 Kerberos 인증에 mongo_kerberos 젬을 사용하는 경우, TGT의 시스템 캐시 사용을 용이하게 하기 위해 JVM 시스템 속성 'sun.security.jgss.native'가 'true'로 설정됩니다(예: kinit 로 얻은 TGT). JGSS 라이브러리를 다른 용도로 사용하는 경우에도 이 설정의 영향을 받으므로 시스템 캐시의 모든 TGT를 Kerberos 자격 증명을 얻는 데에도 사용할 수 있습니다.

JRuby 제한으로 인해:

  • ECDSA 서버 인증서는 지원되지 않습니다.

  • OCSP 엔드포인트 확인이 수행되지 않습니다.

돌아가기

설치