Can't connect to Bitcoin RPC on DigitalOcean server I am running bitcoind on a DigitalOcean droplet with public IP address e.g. 1.1.1.1.

I would like to connect to it via RPC from another DigitalOcean droplet with public IP address e.g. 2.2.2.2.

Both Droplets are running Ubuntu Linux 18.04.

~/.bitcoin/bitcoin.conf on 1.1.1.1:

datadir=/mnt/vol1
disablewallet=1
rpcbind=1.1.1.1
rpcuser=x
rpcpassword=x
rpcallowip=2.2.2.2/32
server=1


netstat -ln | grep 8332 on 1.1.1.1 yields:

tcp        0      0 127.0.0.1:8332          0.0.0.0:*               LISTEN
tcp6       0      0 ::1:8332                :::*                    LISTEN


RPC commands on 1.1.1.1 such as ./bitcoin-cli -rpcuser=x -rpcpassword=x -rpcconnect=localhost -rpcport=8332 getnetworkinfo return normally.

However, on machine 2.2.2.2, when I run ./bitcoin-cli -rpcuser=x -rpcpassword=x -rpcconnect=1.1.1.1 -rpcport=8332 getnetworkinfo I get:

error: Could not connect to the server 1.1.1.1:8332

Make sure the bitcoind server is running and that you are connecting to the correct RPC port.


Machine 1.1.1.1 has firewall rules in DigitalOcean as follows:

Type        Protocol        Port Range      Sources
SSH         TCP             22              2.2.2.2/32
Custom      TCP             8332            2.2.2.2/32


Note that SSH into 1.1.1.1 from 2.2.2.2 is working just fine.

sudo iptables -L on 1.1.1.1 gives:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   


Is there anything obviously wrong in my configuration or setup?

Running curl -v 1.1.1.1:8332 on 2.2.2.2 immediately returns with:

* Rebuilt URL to: 1.1.1.1:8332/
*   Trying 1.1.1.1...
* connect to 1.1.1.1 port 8332 failed: Connection refused
* Failed to connect to 1.1.1.1 port 8332: Connection refused
* Closing connection 0
curl: (7) Failed to connect to 1.1.1.1 port 8332: Connection refused


which from what I have read likely indicates a firewall issue.
bitcoin.conf should contain the machine's own IP address as an argument to the rpcbind parameter.

For example, if you are running bitcoind on a machine with IP address 1.1.1.1 and you wish to connect to its RPC server from a different machine, your bitcoin.conf file on machine 1.1.1.1 should contain the line rpcbind=1.1.1.1.