mongodb tree struct
📦mongodb
┣ 📂conf
┃ ┗ 📜mongod.conf
┣ 📂data
┣ 📂dump
┣ 📂script
┃ ┣ 📂docker
┃ ┃ ┣ 📜01-register-admin-subject.sh
┃ ┃ ┗ 📜02-init-mongo-rs.sh
┃ ┗ 📜container-init.sh
┣ 📂tls
┃ ┣ 📜ca.crt
┃ ┣ 📜mongodb-rs0.pem
┃ ┗ 📜root.pem
┣ 📜.env
┣ 📜docker-compose.yml
This is my mongodb.conf configuration file
{{ inventory_hostname }} 运行主机的hostname
mongod.conf
replication:
replSetName: "rs0"
net:
bindIp: 0.0.0.0
port: {{ Container_PORT }}
tls:
mode: "requireTLS"
CAFile: "/etc/tls/ca.crt"
certificateKeyFile: "/etc/tls/{{ inventory_hostname }}.pem"
# clusterFile: /etc/tls/root.pem
allowInvalidCertificates: true
security:
clusterAuthMode: "x509"
authorization: "enabled"
openssl generates tls ca and client pem
openssl req -passout pass:<you passwd> -new -x509 -keyout ca.key -out ca.crt -subj "/C=US/ST=California/L=SanFrancisco/O=Ponpomu/OU=server/CN=veronikya"
openssl req -nodes -newkey rsa:4096 -keyout mongodb-rs0.key -out mongodb-rs0.csr -subj "/C=US/ST=California/L=SanFrancisco/O=Percona/OU=server/CN=mongodb-rs0"
openssl x509 -req -in mongodb-rs0.csr -signkey mongodb-rs0.key -CA ca.crt -CAkey ca.key -set_serial 01 -out mongodb-rs0.crt
cat mongodb-rs0.crt mongodb-rs0.key >mongodb-rs0.pem
openssl req -nodes -newkey rsa:4096 -keyout mongodb-rs1.key -out mongodb-rs1.csr -subj "/C=US/ST=California/L=SanFrancisco/O=Percona/OU=server/CN=mongodb-rs1"
openssl x509 -req -in mongodb-rs1.csr -signkey mongodb-rs1.key -CA ca.crt -CAkey ca.key -set_serial 01 -out mongodb-rs1.crt
cat mongodb-rs1.crt mongodb-rs1.key >mongodb-rs1.pem
openssl req -nodes -newkey rsa:4096 -keyout mongodb-rs2.key -out mongodb-rs2.csr -subj "/C=US/ST=California/L=SanFrancisco/O=Percona/OU=server/CN=mongodb-rs2"
openssl x509 -req -in mongodb-rs2.csr -signkey mongodb-rs2.key -CA ca.crt -CAkey ca.key -set_serial 01 -out mongodb-rs2.crt
cat mongodb-rs2.crt mongodb-rs2.key >mongodb-rs2.pem
openssl req -newkey rsa:4096 -nodes -out root.csr -keyout root.key -subj '/CN=root/OU=client/O=supsersb/L=tm/ST=tm/C=CN'
openssl x509 -passin pass:<you passwd>-req -in root.csr -signkey root.key -CA ca.crt -CAkey ca.key -CAcreateserial -out root.crt
cat root.crt root.key >root.pem