Kusama - 提供的主机标头未列入白名单

Vin*_*erg 2 substrate

已将 kusama 节点作为服务启动

polkadot --port 30333 --rpc-external --rpc-port 9933  --ws-external --ws-port 9944
Run Code Online (Sandbox Code Playgroud)

现在,我尝试使用对http://IP:9933和此 JSON 有效负载的 POST 请求调用节点:

{"id":1, "jsonrpc":"2.0", "method": "state_getMetadata"}
Run Code Online (Sandbox Code Playgroud)

我收到了 403 禁止响应:

提供的主机标头未列入白名单。

设置中缺少什么想法?

Bry*_*hen 6

您将需要配置 CORS 标头。您可以添加--rpc-cors=all以禁用源验证或传递允许的源,例如--rpc-cors=https://your.website.url

https://github.com/paritytech/substrate/blob/fc3adc87dc806237eb7371c1d21055eea1702be0/core/cli/src/params.rs#L346

/// Specify browser Origins allowed to access the HTTP & WS RPC servers.
/// It's a comma-separated list of origins (protocol://domain or special `null` value).
/// Value of `all` will disable origin validation.
/// Default is to allow localhost, https://polkadot.js.org and https://substrate-ui.parity.io origins.
/// When running in --dev mode the default is to allow all origins.
#[structopt(long = "rpc-cors", value_name = "ORIGINS", parse(try_from_str = "parse_cors"))]
pub rpc_cors: Option<Cors>,
Run Code Online (Sandbox Code Playgroud)