目錄
證書角色說明
1. BI Connector 端的證書 (--sslPEMKeyFile)
2. Grafana 端的證書 (TLS/SSL Client Certificate & Key)
它們之間的關系
配置建議
情況一:只需要服務器驗證(最常見)
情況二:需要雙向SSL認證(更安全)
檢查您的當前配置
推薦做法
證書角色說明
1. BI Connector 端的證書 (--sslPEMKeyFile
)
-
角色:服務器證書
-
作用:BI Connector 作為?服務器,用這個證書向客戶端證明自己的身份
-
類比:就像網站的 HTTPS 證書
2. Grafana 端的證書 (TLS/SSL Client Certificate & Key)
-
角色:客戶端證書
-
作用:Grafana 作為客戶端,用這個證書向 BI Connector 證明自己的身份
-
類比:就像某些銀行網站需要你安裝客戶端證書才能訪問
它們之間的關系
text
Grafana (客戶端) BI Connector (服務器)│ ││ ┌─────────────────────┐ ││ │ 客戶端證書 │ ││ │ Client Certificate │ ││ │ Client Key │ ││ └─────────────────────┘ ││ ││ ┌─────────────────────┐ ││ │ 服務器證書 │ ││ │ Server Certificate │ ││ │ (sslPEMKeyFile) │ ││ └─────────────────────┘ ││ │├────────SSL握手─────────>││<────────SSL握手─────────┤│ │
配置建議
情況一:只需要服務器驗證(最常見)
如果您不需要客戶端證書認證,只需要:
BI Connector 端:
bash
./mongosqld \--sslMode requireSSL \--sslPEMKeyFile /data/mongosql/server.pem \...其他參數
Grafana 端:
yaml
TLS/SSL Mode: Require SSL Mode: Require TLS/SSL Client Certificate: (留空) TLS/SSL Client Key: (留空) TLS/SSL CA Cert: (如果需要,上傳CA證書) TLS/SSL Skip Verify: true # 如果是自簽名證書
情況二:需要雙向SSL認證(更安全)
如果需要客戶端證書:
-
生成客戶端證書:
bash
# 為Grafana生成客戶端證書 openssl genrsa -out grafana-client.key 2048 openssl req -new -key grafana-client.key -out grafana-client.csr openssl x509 -req -days 365 -in grafana-client.csr -CA ca.crt -CAkey ca.key -out grafana-client.crt
-
BI Connector 端啟用客戶端驗證:
bash
./mongosqld \--sslMode requireSSL \--sslPEMKeyFile /data/mongosql/server.pem \--sslCAFile /path/to/ca.crt \ # 用于驗證客戶端證書的CA--sslAllowConnectionsWithoutCertificates false \...其他參數
-
Grafana 端配置客戶端證書:
yaml
TLS/SSL Mode: Require SSL Mode: Require TLS/SSL Client Certificate: (上傳grafana-client.crt) TLS/SSL Client Key: (上傳grafana-client.key) TLS/SSL CA Cert: (上傳ca.crt)
檢查您的當前配置
bash
# 檢查BI Connector是否要求客戶端證書 ps aux | grep mongosqld | grep -E "(sslCAFile|sslAllowConnectionsWithoutCertificates)"# 測試連接是否需要客戶端證書 openssl s_client -connect 39.96.26.253:3307 -state -debug
推薦做法
對于大多數情況,您只需要情況一的配置(只有服務器證書)。
除非您有特殊的安全要求,否則不需要配置客戶端證書。先從簡單的配置開始:
-
BI Connector 使用?
--sslPEMKeyFile
-
Grafana 中只設置?
TLS/SSL Mode: Require
-
客戶端證書相關字段留空
這樣應該就能解決連接問題。如果還有問題,可能是證書本身的問題(比如格式、加密算法等)。