How to access droplet using IP address

October 17, 2019 863 views
DigitalOcean Accounts Databases

I have installed droplet(Ubuntu 18.4) and MongoDb. I can access db via studio 3t using SSH tunnel and it’s working. My PHP based web application is in different server. Now I planning to move MongoDb on droplet and I need to access it using IP address. How can I connect MongoDb using IP address from other server?

2 Answers

Hi @anzalafs,

From your post, I assume you already have active users on your MongoDB installation,correct?

Let’s assume that’s correct, I think you have enabled it auth as well but let’s say you haven’t just for the sake of the answer.

Enable MongoDB Auth

Open your conf

vi /etc/mongod.conf

and add the following lines

security:
    authorization: 'enabled'

This will tell mongodb that whenever it starts up next, it needs to enforce database access control using the roles you have already configured.

By default mongodb is configured to allow connections only from localhost. We need to allow remote connections. In the same config file, go to the network interfaces section and change the bindIp from 127.0.0.1 to 0.0.0.0 which means allow connections from all ip addresses.

# network interfaces
net:
    port: 27017
    bindIp: 0.0.0.0   #default value is 127.0.0.1

Now save, exit the file and restart your MongoDB.

Open up network port

MongoDB uses port number 27017 for all connections by default. So let’s open up that port

ubuntu:~$ sudo iptables -A INPUT -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
ubuntu:~$ sudo iptables -A OUTPUT  -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

Test the remote connections

Test the connection like

mongo -u user1 -p user1password <your_server_ip>/sampledb

Regards,
KDSys

Thanks for the reply.

Have another answer? Share your knowledge.