无法连接到远程Geth,connect: permission denied.
我在安装了Geth节点的ubuntu服务器X上创建了一个shell脚本,在测试链中插入智能合约数据。此外,我通过使用Shell脚本命令在同一服务器X上创建一个PHP文件insertscript.php。当我从命令提示符调用PHP脚本时,它会成功执行,并且数据被插入到区块链中。但是当我用CURL调用另一个服务器的PHP脚本或在浏览器中打开它时,我会看到错误:
Fatal: Unable to attach to remote geth: dial unix ///home/ubuntu/.ethereum/testnet/geth.ipc: connect: permission denied
我的shell脚本如下:
#!/bin/sh
ATTACHPARAMETER="ipc:///home/ubuntu/.ethereum/testnet/geth.ipc"
INCIDENTUUID=${1:-"photo-55697b7f4a550511448499999999"}
USERUUID=${2:-"null"}
TIMESTAMP=$3
STATUS=$4
解决Geth远程连接权限拒绝问题

当尝试从PHP脚本或远程服务器通过CURL访问运行在Ubuntu上的Geth节点时,遇到'connect: permission denied'错误。问题源于Geth二进制文件运行的用户标识与Web服务器不同。解决方案包括调整文件权限,确保Web服务器有权访问,或在两个进程中使用相同的user_id。IPC通信不适用于跨计算机,只能用于本地。参考以太坊常见问题解决,并推荐了以太坊相关的PHP、Python和web3j开发教程。
最低0.47元/天 解锁文章
769

被折叠的 条评论
为什么被折叠?



