mongodb5.0.9
centos7.6 x86
1、正常启动mongod -f mongodb.conf
【前言】
ssl配置流程步骤,按照以下顺序处理即可。
1.生成证书,根证书,服务端证书,客户端证书
2.配置服务端ssl配置,测试shell访问ssl的服务端,访问mongo
一【openssl】
服务端ssl配置。
1.1 生成根证书
#-x509: 用于生成自签证书,如果不是自签证书则不需要此项
#-days: 证书的有效期限,默认是365天
#直接带参数的输入,直接输密码即可
openssl req -out ca.pem -new -x509 -days 3650
CN cjp devops localhost devops localhost
#密码自行配置即可,123456
1.2 生成服务端证书
生成服务器端私钥
openssl genrsa -out server.key 2048
生成服务器端申请文件 cat server.req
#CN=localhost 是mongo机器运行的节点域名信息,如果对不上就会报错
openssl req -key server.key -new -out server.req
CN cjp devops localhost localhost localhost
生成服务器端证书
openssl x509 -req -in server.req -CA ca.pem -CAkey privkey.pem -CAcreateserial -out server.crt -days 3650
合并服务器端私钥和服务器端证书,生成server.pem
cat server.key server.crt > server.pem
校验服务器端pem文件
openssl verify -CAfile ca.pem server.pem
1.3 生成客户端证书
生成客户端私钥
openssl genrsa -out client.key 2048
生成客户端申请文件
#CN=localhost 是mongo服务的域名地址,这个需要根据自己业务进行修改处理
openssl req -key client.key -new -out client.req
CN cjp devops localhost localhost localhost
生成客户端证书
openssl x509 -req -in client.req -CA ca.pem -CAkey privkey.pem -CAserial ca.srl -out client.crt -days 3650
合并客户端私钥和客户端证书,生成client.pem
cat client.key client.crt > client.pem
校验客户端pem文件
openssl verify -CAfile ca.pem client.pem
二【mongodb 配置ssl】
2.1 修改配置文件,mongodb.conf
增加以下ssl配置
sslOnNormalPorts = true
sslPEMKeyFile = /usr/local/mongodb/conf/server.pem
sslPEMKeyPassword = pass
sslCAFile = /usr/local/mongodb/conf/ca.pem
2.2 shell客户端连接方式
mongo --sslAllowInvalidCertificates --sslAllowInvalidHostnames --ssl --sslPEMKeyFile /usr/local/mongodb/conf/server.pem --sslCAFile /usr/local/mongodb/conf/ca.pem --host 127.0.0.1
navicat连接测试: