通过 Websocket 或 HTTP 连接到在 VPS 上运行的 BSC 节点
Posted
技术标签:
【中文标题】通过 Websocket 或 HTTP 连接到在 VPS 上运行的 BSC 节点【英文标题】:Connect to BSC Node running on VPS via Websocket or HTTP 【发布时间】:2021-09-16 04:13:01 【问题描述】:我已经按照此处的文档在 BSC 上设置了自己的节点 - https://docs.binance.org/smart-chain/developer/fullnode.html
我遇到的问题是我无法通过 Web3 连接到节点。
尝试使用连接时
web3 = Web3(Web3.WebsocketProvider('ws://[server-ip]:8545'))
print('ws - ' + str(web3.isConnected()))
我的输出是false
运行我正在使用的节点时:
./geth --config ./config.toml --datadir ./mainnet --ws --ws.port=8545 --ws.origins='*'
我尝试了许多配置组合来使其正常工作,但没有运气。通常,我尝试通过 Web 套接字进行连接,但如果需要,我很乐意使用 HTTP 提供程序进行连接。
查看netstat --listen --tcp
输出我在节点运行时得到了这个:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:8545 0.0.0.0:* LISTEN
tcp 0 0 localhost:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]:30311 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
有人知道我错过了什么吗?
【问题讨论】:
【参考方案1】:经过大量研究,我发现处理此问题的最佳方法是简单地运行 nginx 代理。
以下是我为寻找类似问题解决方案的任何人所遵循的说明
https://www.nginx.com/blog/websocket-nginx/
【讨论】:
以上是关于通过 Websocket 或 HTTP 连接到在 VPS 上运行的 BSC 节点的主要内容,如果未能解决你的问题,请参考以下文章
Akka-http:连接到localhost上的websocket
使用带有webpack的socket.io连接到GDAX websocket api
将 JavaScript WebSocket 连接到 C winsock
WebSocket 连接到 'ws://localhost:8081/.../.../...' 失败:HTTP 身份验证失败;没有可用的有效凭据