networking - 通过 Websocket 或 HTTP 连接到在 VPS 上运行的 BSC 节点
问题描述
我已经按照此处的文档在 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
有谁知道我错过了什么?
解决方案
经过大量研究,我发现处理这个问题的最佳方法是简单地运行 Nginx 代理。
以下是我为任何正在寻找类似问题解决方案的人所遵循的说明
推荐阅读
- android-recyclerview - 奇怪的 Longclick 行为
- html - 为什么 Google 建议在 Body 中使用 META TAGS?
- django - Django 中的“boards”和“boards.apps.BoardsConfig”有什么区别?
- networking - 客户端发送 SYN 后发送 RST
- python - 计算查询向量和项目矩阵之间汉明距离的最快方法
- bash - 是否可以简化这个多个 linux 命令脚本(也许是 awk 命令)?
- python - 显示 visual_statistics 的 TensorflowExtended/TFX 结果
- python - 使用 python 为潜在客户创建外展文本
- java - 如何在 Spring Boot 项目中进行可在生产环境中编辑的配置?
- xml - 对xml输出python脚本中的单词进行排序和计数