未进行 SSL 连接尝试时,MongoDB 抱怨 SSL 握手
Posted
技术标签:
【中文标题】未进行 SSL 连接尝试时,MongoDB 抱怨 SSL 握手【英文标题】:MongoDB complaining about SSL handshake when SSL connection attempt is not being made 【发布时间】:2017-08-08 08:24:51 【问题描述】:我尝试过使用官方的 mongo Docker 镜像和 khezen/mongo,当我尝试建立未加密的 HTTP 连接时,我收到了相同的错误消息:
AssertionException handling request, closing client connection: 17133 SSL handshake requested, SSL feature not available in this build
这是来自 khezen/mongo 的信息。官方的 mongo 图片给出了一个稍微不同的错误:
AssertionException handling request, closing client connection: 17132 SSL handshake received but server is started without SSL support
当官方 mongo 镜像从 docker-compose.yml 使用自定义命令 (mongod --sslMode allowSSL --sslPEMKeyFile /data/db/mongodb.pem
) 启动时:
SSL: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
现在,这一切都在尝试从 Postman 发出以下请求:
模式:POST
网址:http://localhost:27017/lasdf?client=asdf
数据负载:
"gargen": "flagren",
"jiminy":
"crickets": 1,
"isChirping": false
,
"blargen": "fargle",
"_id": "a96c2a4ec6fb4a8dbe2305687eb0e50b"
有趣的是,当我将“http
”更改为“https
”时,我没有收到任何错误消息,也没有任何响应,当然数据库也没有更改。
更奇怪的是,我 am 能够通过 mongo-express
docker 映像访问数据库。它的默认配置不会向 mongodb 发出 HTTPS 请求,因为当我将自定义命令更改为“--sslMode requireSSL
”时,它无法连接。
容器中安装的MongoDB版本为3.4.2。
【问题讨论】:
我刚刚测试了mongo官方的3.2和3.0标签,得到了同样的响应。 【参考方案1】:此特定错误不会产生任何问题。 尝试在 Postman 上使用正确的端口,服务器正在接受请求。 你可以忽略错误
【讨论】:
以上是关于未进行 SSL 连接尝试时,MongoDB 抱怨 SSL 握手的主要内容,如果未能解决你的问题,请参考以下文章
unixodbc 和 netezza ODBC 驱动程序问题(未定义符号:SSL_connect)