5

我正在运行带有以下标志的ethereum/client-go docker映像:

docker run -p 8545:8545 ethereum/client-go --rpcapi personal,db,eth,net,web3 --rpc --rpcaddr 0.0.0.0 --rpccorsdomain * --rinkeby

此映像在机器 A 上运行,我可以查询其中的 RPC。但是当我尝试从机器 BI 查询它时,会收到以下响应:

要求:

curl -X POST http://<machine_A_address>:8545 -H "Content-Type: application/json" --data '{"jsonrpc":"2÷.0","method":"eth_coinbase","params":[],"id":64}' --verbose

回复:

< HTTP/1.1 403 Forbidden
< Content-Type: text/plain; charset=utf-8
< X-Content-Type-Options: nosniff
< Date: Wed, 18 Apr 2018 14:58:44 GMT
< Content-Length: 23
< 
invalid host specified
* Connection #0 to host ... left intact

如何从机器 B 查询托管在机器 A 上的以太坊客户端?我在哪里可以找到以太坊客户端日志以便调试它?

4

2 回答 2

5

添加--rpcvhosts=*此标志解决了问题

于 2018-04-18T15:54:36.250 回答
0

由于--rpcvhosts已弃用,您需要指定 flag --http.vhosts=<YOUR_DOMAIN>

如果您需要一个简单的解决方法,您可以设置--http.vhosts=*,但此解决方案是一种糟糕的安全做法。

于 2021-10-27T09:03:20.173 回答