我正在尝试理解RESTHeart文档的这一部分,但我不能: https://softinstigate.atlassian.net/wiki/spaces/RH/pages/9207828/Installation+and+Setup#InstallationandSetup-5.1ConnectRESTHearttoMongoDBoverTLS/SSL
使用keytool创建导入mongod使用的公共证书的密钥库(使用keytool,用于管理加密密钥密钥库的java工具)
我在哪里可以获取mongod使用的公共证书?
使用以下选项启动restheart: $ java -server -Djavax.net.ssl.trustStore = rhTrustStore -Djavax.net.ssl.trustStorePassword = changeit -Djavax.security.auth.useSubjectCredsOnly = false -jar restheart.jar restheart.yml
在这种情况下,restheart.yml conf文件中的“use-embedded-keystore”选项必须为value = true或false,我应该使用自己的密钥库?据我所知,如果该选项的值为true,则命令的这一部分
-Djavax.net.ssl.trustStore = rhTrustStore -Djavax.net.ssl.trustStorePassword = changeit -Djavax.security.auth.useSubjectCredsOnly = false
忽略?或者不是?
答案 0 :(得分:0)
选项use-embedded-keystore
控制restheart用于https协议的SSL证书,它与mongodb的连接无关。
要通过SSL连接到mongodb,您必须在java密钥库中安装mongodb使用的公共证书,并按照文档中的说明进行操作。
答案 1 :(得分:0)
您可以在以下地址找到有关通过Ssl将restheart连接到mongodb的详细文档:
MongoDB客户端可以使用TLS / SSL加密与mongod和mongos实例的连接。
要为TLS / SSL配置RESTHeart,请执行以下操作:
使用keytool创建导入mongod使用的公共证书的密钥库(使用keytool,用于管理加密密钥密钥库的java工具)
$ keytool -importcert -file mongo.cer -alias mongoCert -keystore rhTrustStore
# asks for password, use "changeit"
在restheart yml配置文件中指定mongo-uri中的ssl选项:
mongo-uri: mongodb://your.mongo-domain.com?ssl=true
使用以下选项启动restheart:
$ java -server -Djavax.net.ssl.trustStore=rhTrustStore -Djavax.net.ssl.trustStorePassword=changeit -Djavax.security.auth.useSubjectCredsOnly=false -jar restheart.jar restheart.yml