From abb3c4b189cfb3c19651059c3a9ee2f3acf6344a Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Tue, 5 May 2026 18:56:08 +0000 Subject: [PATCH] Rootstock: hosts = ["*"] - allow all Host headers (was []) VETIVER-9.0.1 enforces rpc.providers.web.http.hosts as a whitelist; empty list / default rejects everything except 'Host: localhost'. The traefik route uses 'customrequestheaders.Host=localhost' middleware to rewrite the Host header, but that middleware appears not to be applied for the rootstock route - real requests still arrive at rskj with Host: rpc-de-XX.stakesquid.eu and rskj returns 400 Bad Request, which traefik translates to 502 Bad Gateway. Wildcard whitelist is fine here because traefik (with ipallowlist middleware) is the actual gatekeeper. Confirmed empirically: 'wget --header=Host:localhost' returns valid JSON-RPC, anything else returns 400. --- rootstock/bamboo/node.conf | 2 +- rootstock/mainnet/node.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rootstock/bamboo/node.conf b/rootstock/bamboo/node.conf index b55a421f..f41f1386 100644 --- a/rootstock/bamboo/node.conf +++ b/rootstock/bamboo/node.conf @@ -11,7 +11,7 @@ rpc { http = { enabled = true bind_address = "0.0.0.0" - hosts = [] + hosts = ["*"] port = 8545 } ws = { diff --git a/rootstock/mainnet/node.conf b/rootstock/mainnet/node.conf index 22ffed9f..8c0d3f43 100644 --- a/rootstock/mainnet/node.conf +++ b/rootstock/mainnet/node.conf @@ -11,7 +11,7 @@ rpc { http = { enabled = true bind_address = "0.0.0.0" - hosts = [] + hosts = ["*"] port = 8545 } ws = {