Cho phép truy cập từ xa với MongoDB – Remote access.
MongoDB Remote Access
Mặc định MongoDB không cho phép các kết nối từ bên ngoài. Tức là máy bạn cài MongoDB thì bạn chỉ có thể kết nối MongoDB từ máy của bạn. Máy khác không thể truy cập được MongoDB trên máy của bạn.
Để cho phép các kết nối từ xa tới MongoDB ta cần chỉnh lại tham số bindIp
trong file mongo.cfg
Ví dụ máy mình là windows, cài mongodb bản 4.0 thì file mongo.cfg sẽ là:
C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg
Với hệ điều hành ubuntu thì file mongo.cfg
mặc định nằm ở /etc/mongod.cfg
Mặc định giá trị bindIp
ban đầu sẽ là 127.0.0.1
tức là chỉ cho phép kết nối nội bộ / localhost
... # network interfaces net: port: 27017 bindIp: 127.0.0.1
Để cho phép các máy trên cùng mạng LAN truy cập vào MongoDB trên máy của bạn thì bạn thêm địa chỉ LAN IP vào bindIP
Ví dụ LAN IP của mình là: 192.168.0.15
, sau khi thêm LAN IP vào bindIp
thì các máy tính trong cùng mạng LAN có thể truy cập MongoDB trên máy mình qua địa chỉ 192.168.0.15
... # network interfaces net: port: 27017 bindIp: 127.0.0.1, 192.168.0.15
Tương tự nếu bạn có static ip, public ip thì đều có thể thêm vào bindIp
để truy cập mongodb qua các ip đó.
Đặc biệt, thay vì thêm địa chỉ ip vào bindIp
các bạn có thể để nó thành DNS 0.0.0.0
nó sẽ tự động map tất cả các IP của máy bạn (public IP, LAN IP, public IP…) vào bindIp
và bạn có thể truy cập vào MongoDB bằng bất kỳ địa chỉ IP nào trong số đó.
... # network interfaces net: port: 27017 bindIp: 0.0.0.0
Với trường hợp dùng domain để kết nối tới MongoDB thì bạn cần map domain đó tới IP của bạn và thêm IP đó vào bindIp
hoặc cũng có thể khai báo chung cho tất cả bằng 0.0.0.0
Start MongoDB với tham số –bindIp
Ngoài cách cấu hình bindIP trong file mongod.cfg
bạn cũng có thể chỉ rõ bindIp khi start MongoDB bằng lệnh mongod
Ví dụ:
mongod --bind_ip 127.0.0.1,192.168.0.15
Okay, Done!
References: