MongoDB là gì? MongoDB là một cơ sở dữ liệu tài liệu mã nguồn mở được sử dụng trong nhiều ứng dụng web. Theo mặc định, nó chỉ cho phép các kết nối bắt nguồn từ cùng một máy chủ nơi nó được cài đặt. Nếu bạn muốn quản lý MongoDB từ xa hoặc kết nối nó với một máy chủ ứng dụng riêng, có một số thay đổi bạn cần thực hiện đối với cấu hình mặc định.
Trong bài viết này vData sẽ hướng dẫn các bạn cấu hình kết nối MongoDB từ một máy chủ từ xa đáng tin cậy. Các bạn sẽ cần phải thực hiện mở Port và cho phép địa chỉ IP tin cậy kết nối. Chúng ta đi vào cấu hình nhé.
Bước 1: Hãy chắc chắn rằng cài đặt firewalld đã được cài đặt trên Centos 7.
1 2 3 |
systemctl start firewalld.service systemctl enable firewalld.service systemctl status firewalld.service |
Bước 2: Cấu hình cài đặt tường lửa.
Kiểm tra cổng cài đặt MongoDB bằng lệnh netstat
1 |
netstat -plunt | grep mongo |
Kết quả:
1 |
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 3453/mongod |
Allow IP connect đến Port mặc định của MongoDB. Thay đổi trusted_server_ip = IP tin cậy của bạn.
1 2 |
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="trusted_server_ip" port protocol="tcp" port="27017" accept' firewall-cmd --reload |
Kiểm tra lại danh sách được cho phép trên firewalld xem đã có Allow IP chưa.
1 |
firewall-cmd --list-all |
Bước 3: Cấu hình BindIP Public.
Hiện tại, mặc dù cổng đang mở, MongoDB hiện đang bị ràng buộc với 127.0.0.1, nghĩa là MongoDB chỉ có thể chấp nhận các kết nối bắt nguồn từ máy chủ nơi nó được cài đặt.
Để cho phép kết nối từ xa, bạn phải chỉnh sửa tệp cấu hình MongoDB trong /etc/mongod.conf.
Tìm network interfaces phần, phần giá trị bindIp.
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1,mongodb_server_ip
Lưu lại cấu hình file và restart lại service.
1 |
systemctl restart mongod |
Sau khi reset xong, MongoDB của bạn sẽ có thể chấp nhận các kết nối từ xa từ bất kỳ máy nào bạn đã cho phép truy cập cổng 27017.
Bước 3: Kiểm tra lại kết nối MongoDB.
1 |
nc -zv mongodb_server_ip 27017 |
Chúc các bạn cài đặt thành công!