【问题标题】:Tomcat Presenting SSL CredentialsTomcat 提供 SSL 凭证
【发布时间】:2015-10-01 19:58:55
【问题描述】:

我已将我的 MongoDB 设置为仅接受通过 SSL 的连接。 Mongo 有一个我使用以下命令生成的证书的句柄

openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes -out server-cert.crt -keyout server-private.key
cat server-cert.crt server-private.key > /etc/ssl/mongoSSL.pem

我将以下内容添加到我的 /etc/mongod.cnf...

sslMode=requireSSL
sslPEMKeyFile=/etc/ssl/mongo/mongoSSL.pem

当 Tomcat 尝试与 Mongo 通信时,由于未提供 SSL 证书而失败。 我将 /opt/tomcat/conf/server.xml 设置为具有以下内容

<Connector port="27017" protocol="org.apache.coyote.http11.Http11NioProtocol"
    SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/ssl/mongo/mongoSSL.pem"/>

但是,这不起作用。有没有人有一个教程的链接,可以进一步了解这是如何完成的?我找到了一个使用 Apache 配置 SSL 的教程,我找到了 Apache Docs on SSL Support 但似乎都不适合我的用例。 谢谢。

【问题讨论】:

    标签: apache mongodb tomcat ssl


    【解决方案1】:

    当 Tomcat 尝试与 Mongo 通信时,由于未提供 SSL 证书而失败。我将 /opt/tomcat/conf/server.xml 设置为具有以下内容

    您的假设是错误的,您的 server.xml 配置没有指示 Tomcat 向 MongoDB 提供 SSL 证书。它告诉 Tomcat 侦听端口 27017 上的安全 (https) 连接(无论如何,该端口已被 MongoDB 占用)。你应该放弃那个 Tomcat 连接器设置。

    事实上,sslMode=requireSSL 并没有指示 MongoDB 要求客户端证书进行双向身份验证。它只指示 MongoDB 只接受安全的 SSL 连接。

    您需要做的不是配置 Tomcat,而是配置 MongoDB 驱动程序(因为您使用的是 Tomcat,所以我在这里假设 Java)。

    配置 Java 驱动程序相当容易。 You can find the instructions here

    【讨论】:

      猜你喜欢
      • 2021-08-20
      • 2018-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 2015-02-25
      • 2019-01-15
      相关资源
      最近更新 更多