如何使用Azure网站中的web3js访问Azure私有节点?

时间:2018-05-10 13:37:03

标签: azure-web-sites ethereum go-ethereum

我在Azure VM(OS Windows)中成功设置了节点。以下是命令

geth  --rpc --rpcport 8545 --rpcaddr 0.0.0.0 --rpccorsdomain "*" --datadir testprivareDir --port "30303" --nodiscover --rpcapi "db,eth,net,web3" --networkid XXXX   

我在Azure网站托管的代码

new Web3.providers.HttpProvider("http://publicIP:8545"));  **-- not working**

new Web3.providers.HttpProvider("http://dnsname:8545"));  **-- not working**

注意

  • 我可以使用localhost:8545 在Remix web3Provider中使用节点在VM内访问它,但我无法使用公共IP(publicIP:8545)或DNSName访问VM外部: 8545
  • 我在VM的网络安全组中打开了端口30303,8545,22,8000,8080
  • 该节点目前也已成功挖掘
  • rpccorsdomain "*", --rpcaddr 0.0.0.0, try also --rpcaddr StaticIP

我在想如果我可以在具有节点的VM之外的Remix中访问它,它应该可以在Azure网站中运行。

1 个答案:

答案 0 :(得分:0)

将回答我自己的问题,以便其他人也可以看到它。

在Azure网络安全组中 - 确保端口22是第一优先级(优先级100)。

  • 之前 - 设置为8545优先级100,22优先级101 - 不起作用

  • 之后 - 设置为22优先级100,8545优先级101 - 工作正常:)

我现在不确定为什么这种排序会影响它。