Commit Graph

3 Commits

Author SHA1 Message Date
abb3c4b189 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.
2026-05-05 18:56:08 +00:00
bc95c7e1a6 Rootstock: fix rpc.modules format for VETIVER (LIST -> OBJECT)
VETIVER-9.0.1 silently ignores rpc.modules when configured as a list of
{name,version,enabled} objects. Switch to canonical OBJECT format from
rskj's expected.conf:
  modules = { eth { version = "1.0", enabled = "true" } ... }

Without this, the RPC server starts but no modules are registered, so
eth_blockNumber returns method-not-found and show-status flags as 'error'
even though the chain itself imports blocks fine.

Also added 'hosts = []' under rpc.providers.web.http (LIST per
expected.conf, was missing). Same fix applied to bamboo testnet config.

Note: this only resolves mainnet. Bamboo still needs DB recreate due to
unrelated 'Invalid block header size: 22' corruption.
2026-05-05 18:34:09 +00:00
Para Dox
2a3f74bd0d fix 2025-04-14 20:49:12 +07:00