Cube.js:错误:在通过MongoDB BI Connector使用明文身份验证时,需要ssl

时间:2019-11-14 23:25:43

标签: cube.js

我已将MongoDB实例设置为使用身份验证。我的Mongo Connect BI设置使用相同的身份验证,但是当我通过Cube.js传递这些身份验证详细信息时,出现以下错误。

Error: ssl is required when using cleartext authentication at Packet.asError (/Users/Anton/Documents/Development/node/react-dashboard/node_modules/mysql2/lib/packets/packet.js:708:17) at ClientHandshake.execute (/Users/Anton/Documents/Development/node/react-dashboard/node_modules/mysql2/lib/commands/command.js:28:26) at Connection.handlePacket (/Users/Anton/Documents/Development/node/react-dashboard/node_modules/mysql2/lib/connection.js:408:32) at PacketParser.Connection.packetParser.p [as onPacket] (/Users/Anton/Documents/Development/node/react-dashboard/node_modules/mysql2/lib/connection.js:70:12) at PacketParser.executeStart (/Users/Anton/Documents/Development/node/react-dashboard/node_modules/mysql2/lib/packet_parser.js:75:16) at Socket.Connection.stream.on.data (/Users/Anton/Documents/Development/node/react-dashboard/node_modules/mysql2/lib/connection.js:77:25) at emitOne (events.js:116:13) at Socket.emit (events.js:211:7) at addChunk (_stream_readable.js:263:12) at readableAddChunk (_stream_readable.js:250:11)

我的mongosqld命令如下

mongosqld --mongo-uri "mongodb://XX.mlab.com:XX" -u DBUN -p DBPW --mongo-authenticationSource DBNAME --sampleNamespaces DBNAME.*

我的Cube.js .ENV配置如下

CUBEJS_DB_HOST=localhost CUBEJS_DB_NAME=DBNAME CUBEJS_DB_PORT=3307 CUBEJS_DB_TYPE=mongobi CUBEJS_DB_USER=DBUN CUBEJS_DB_PASS=DBPW

任何帮助将不胜感激。

谢谢

安东

1 个答案:

答案 0 :(得分:0)

Cube.js Mongo BI驱动程序当前仅支持明文身份验证插件。它要求在mongosqld和Cube.js端都设置SSL,以便对传递的凭据进行加密。

自签名证书可用于提供此加密。可以使用以下命令生成它:

$ openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem

将其结合在一起以创建sslPEMKeyFile

$ cat key.pem certificate.pem > mongo.pem

mongosqld开始,启用SSL:

$ ./mongosqld --auth --sslMode requireSSL --sslPEMKeyFile mongo.pem

将以下环境变量添加到您的Cube.js .env

CUBEJS_DB_SSL=true
CUBEJS_DB_SSL_REJECT_UNAUTHORIZED=false

非明文身份验证插件支持状态:https://github.com/cube-js/cube.js/issues/222