【问题标题】:Clojure - How to connect to MongoDB/DocumentDB via TLS Connection using MongerClojure - 如何使用 Monger 通过 TLS 连接连接到 MongoDB/DocumentDB
【发布时间】:2022-12-12 07:33:21
【问题描述】:

我无法通过 TLS 和 monger 连接到 AWS DocumentDB 数据库。 我从 AWS 下载了 PEM 文件并将其添加到新的密钥库文件中

keytool -import -alias documentdb_certs -storepass SomePassword -keystore documentdb_certs -file ./rds-combined-ca-bundle.pem

我用 monger: (:require [monger.core :as mg])

我尝试了不同的方法通过 project.clj 文件传递​​证书信息,例如

:jvm-opts ["-Djavax.net.ssl.trustStore=<my path>/clojure/resources/aws-cert/documentdb_certs"
             "-Djavax.net.ssl.trustStorePassword=<password>"
             ]

或者

  :injections [
               (.. System (setProperty "javax.net.ssl.trustStore" "<my path>/clojure/resources/aws-cert/documentdb_certs"))
               (.. System (setProperty "javax.net.ssl.trustStorePassword" "MyPassWord"))
               ]

我正在尝试建立如下连接

(defn simple-aggregate-function
  "just trying"
  ([conn]
   (let [db (mg/get-db conn "db_name")
         collection "collection_name"]
     (mc/aggregate db collection
       [
        {"match" {:createdDate         {"$gte" "2022-03-01", "$lt" "2022-03-06"}}},
        {"$sort" {:_id 1}}
        ]
       :cursor {:batch-size 50}
       ))))

(def connection-uri-template2 "mongodb://%s:%s@%s:27017/%s?retryWrites=false&replicaSet=rs0&authSource=admin&tls=true")
(def connection-uri2 (format connection-uri-template2 user-name password db-server database))

(let [uri connection-uri2 {:keys [conn]} (mg/connect-via-uri uri)]

  (do
    (println connection-uri2)
    (def result (simple-aggregate-function conn))
    (println result)
    )
  (mg/disconnect conn))

我在运行应用程序时超时。

我无法在我的在线搜索中找到任何有用的信息。我想知道是否有人有工作配置的示例,或者可以概述通过 Monger 和 TLS 成功连接到 DocumentDB 的步骤

【问题讨论】:

    标签: mongodb ssl clojure aws-documentdb


    【解决方案1】:

    您是否检查过 Amazon DocumentDB documentation 是否以编程方式连接? rds-combined-ca-bundle.pem 文件包含每个 AWS 区域的多个证书,如果您单击 Java 选项卡,那里有一个 bash 脚本可以解析 .pem 文件并在密钥库中正确导入证书。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      • 2020-05-01
      • 2020-04-21
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 2017-11-26
      相关资源
      最近更新 更多