我无法通过 RPC 端口 bitcoind 连接

I can not connect through RPC port bitcoind

我已经设置了 bitcoind,我可以 运行 bitcoin-cli 命令,我也可以通过 RPC 发出请求。

curl --user username:password --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332

它也有效。但是通过 public ip 连接只是 return Connection refused.

curl --user username:password --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }' -H 'content-type: text/plain;' http://public-ip:18332

它returns

curl: (7) Failed to connect to external-ip port 18332: Connection refused

这是我的 bitcoin.config 文件的样子,

blocksonly=1
prune=1200
rpcauth=username:hash
rpcallowip=0.0.0.0/0

[main]

[test]

[regtest]

比特币节点 运行 正在连接一个 ubuntu 服务器和其他 applications/port 允许外部连接,除了所有 bitcoind RPC 端口有没有办法解决这个问题?

默认情况下,RPC 服务仅绑定到本地接口。

如果您想更改它,请在您的配置中使用 rpcbind=

但是,请注意公开 rpc 端口存在安全风险。