You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将RSK节点暴露到外部网络?外部访问返回400错误怎么解决

问题原因

本地访问正常、外部访问返回400错误是RSK节点的RPC Host头校验拦截导致的。你当前配置的rpc.providers.web.http.hosts列表仅包含localhost和0.0.0.0,仅允许Host头匹配这两个值的请求通过,外部网络请求的Host头为公网IP/域名,不在白名单列表中,因此返回400错误。

解决方案

1. 修改rsk.conf配置

更新hosts配置,将外部访问使用的公网IP、域名加入白名单,测试环境可直接设置为*放行所有Host请求,生产环境建议仅添加实际使用的地址:

rpc {
     providers {
         web {
             cors: "*",
             http {
                 enabled = true
                 bind_address = "0.0.0.0"
                 # 测试环境用这个配置
                 hosts = ["*"]
                 # 生产环境替换为实际的公网IP、域名即可
                 # hosts = ["localhost", "0.0.0.0", "你的服务器公网IP", "你的节点访问域名"]
                 port: 4444
             }
         }
     }
 }

2. 确认启动参数优先级

JVM启动参数的优先级高于配置文件,检查你的启动命令中是否有-Drpc.providers.web.http.hosts相关参数,如果有需要同步修改,或者直接移除该启动参数,统一使用配置文件中的设置避免冲突。

3. 检查网络端口策略

确认服务器侧的4444端口对外开放:

  • 服务器本地防火墙(iptables、firewalld等)未拦截4444端口的入站请求
  • 云服务器需额外确认安全组规则已放通4444端口
  • 若使用反向代理转发请求,需配置代理正确转发原始Host头

4. 重启RSK节点

配置修改完成后重启RSK节点即可生效。

内容的提问来源于stack exchange,提问作者Aleks Shenshin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 21:57:02