以前有寫過在我我cube.js 連接mongo 的(通過mongodb bi-connector),當時沒有考慮安全的問題(賬戶&&ssl)
以下是關於基於賬戶認證以及ssl 問題的說明,以下是簡單的集成說明
環境准備
- docker-compose mongo
version: "3"
services:
mongo:
image: mongo
ports:
- "27017:27017"
- 初始化數據
這個包含了創建賬戶以及數據模型創建,可以參考https://www.cnblogs.com/rongfengliang/p/12313132.html - 安裝bi-connector
基於mac 系統,可以參考https://www.cnblogs.com/rongfengliang/p/12313132.html 以及https://docs.mongodb.com/bi-connector/master/reference/mongosqld/#bin.mongosqld ,里面有關於ssl 的配置以及說明 - 數據效果
cube.js 應用集成
- 初始化項目
cubejs create appdemos -d mongobi
- 環境變量配置
.env 配置
核心是CUBEJS_DB_SSL=true
以及CUBEJS_DB_SSL_REJECT_UNAUTHORIZED=false
CUBEJS_DB_HOST=localhost
CUBEJS_DB_NAME=appdemos
CUBEJS_DB_USER=dalong
CUBEJS_DB_PASS=dalong
CUBEJS_WEB_SOCKETS=true
CUBEJS_DB_TYPE=mongobi
CUBEJS_API_SECRET=9c403ecad9d9b1cb62b01c22c22e8b73fc9057a0d9da7795d12c89b4d61d1b690dba2c91d4bd7d8d3d352a881fb5a6d4a5350f0f1859da8a83b87803c45510f3
CUBEJS_DB_SSL=true
CUBEJS_DB_SSL_REJECT_UNAUTHORIZED=false
#CUBEJS_DB_SSL_CA=<SSL_CA>
#CUBEJS_DB_SSL_CERT=<SSL_CERT>
#CUBEJS_DB_SSL_CIPHERS=<SSL_CIPHERS>
#CUBEJS_DB_SSL_PASSPHRASE=<SSL_PASSPHRASE>
#CUBEJS_DB_SSL_REJECT_UNAUTHORIZED=<SSL_REJECT_UNAUTHORIZED>
- 效果
數據查詢
參考資料
https://www.cnblogs.com/rongfengliang/p/12313132.html
https://docs.mongodb.com/bi-connector/master/reference/mongosqld/#bin.mongosqld
https://github.com/cube-js/cube.js
https://github.com/cube-js/cube.js/issues/222