Search code examples
mongodbpymongomongodb-compass

How to allow all hosts to a replica set in mongodb


When I am connecting my replica set from local machine like this

"mongodb://my_server_ip:27018/?readPreference=secondary&replicaSet=rs0&appname=MongoDB%20Compass&ssl=false"

It gives me an error "Could not reach any servers" and on mongo compass "connect ECONNREFUSED 127.0.0.1:27018"

I think this error comes from replica set configs, where host key is "localhost:27018"

Below is the replica set member info:

{
    "_id": 1,
    "host": "localhost:27018",
    "arbiterOnly": false,
    "buildIndexes": true,
    "hidden": false,
    "priority": 1,
    "tags": {

    },
    "slaveDelay": NumberLong(0),
    "votes": 1
}

How to allow all hosts to this replica?


Solution

  • Replica set must be configured with host addresses that are accessible from both RS nodes and the clients.

    For an RS used over the network, this means public hostnames/IP addresses of the host nodes rather than loopback addresses.