cmd/geth: make authrpc listening address settable from command line (#24522)
The default listening address "localhost" is not sufficient when running geth in Docker.
This commit is contained in:
@ -113,9 +113,6 @@ type Config struct {
|
||||
// for ephemeral nodes).
|
||||
HTTPPort int `toml:",omitempty"`
|
||||
|
||||
// Authport is the port number on which the authenticated API is provided.
|
||||
AuthPort int `toml:",omitempty"`
|
||||
|
||||
// HTTPCors is the Cross-Origin Resource Sharing header to send to requesting
|
||||
// clients. Please be aware that CORS is a browser enforced security, it's fully
|
||||
// useless for custom HTTP clients.
|
||||
@ -142,6 +139,12 @@ type Config struct {
|
||||
// HTTPPathPrefix specifies a path prefix on which http-rpc is to be served.
|
||||
HTTPPathPrefix string `toml:",omitempty"`
|
||||
|
||||
// AuthHost is the listening address on which authenticated APIs are provided.
|
||||
AuthHost string `toml:",omitempty"`
|
||||
|
||||
// AuthPort is the port number on which authenticated APIs are provided.
|
||||
AuthPort int `toml:",omitempty"`
|
||||
|
||||
// WSHost is the host interface on which to start the websocket RPC server. If
|
||||
// this field is empty, no websocket API endpoint will be started.
|
||||
WSHost string
|
||||
|
@ -50,6 +50,7 @@ var (
|
||||
var DefaultConfig = Config{
|
||||
DataDir: DefaultDataDir(),
|
||||
HTTPPort: DefaultHTTPPort,
|
||||
AuthHost: DefaultAuthHost,
|
||||
AuthPort: DefaultAuthPort,
|
||||
HTTPModules: []string{"net", "web3"},
|
||||
HTTPVirtualHosts: []string{"localhost"},
|
||||
|
@ -419,6 +419,7 @@ func (n *Node) startRPC() error {
|
||||
servers = append(servers, server)
|
||||
return nil
|
||||
}
|
||||
|
||||
initWS := func(apis []rpc.API, port int) error {
|
||||
server := n.wsServerForPort(port, false)
|
||||
if err := server.setListenAddr(n.config.WSHost, port); err != nil {
|
||||
@ -438,7 +439,7 @@ func (n *Node) startRPC() error {
|
||||
initAuth := func(apis []rpc.API, port int, secret []byte) error {
|
||||
// Enable auth via HTTP
|
||||
server := n.httpAuth
|
||||
if err := server.setListenAddr(DefaultAuthHost, port); err != nil {
|
||||
if err := server.setListenAddr(n.config.AuthHost, port); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := server.enableRPC(apis, httpConfig{
|
||||
@ -453,7 +454,7 @@ func (n *Node) startRPC() error {
|
||||
servers = append(servers, server)
|
||||
// Enable auth via WS
|
||||
server = n.wsServerForPort(port, true)
|
||||
if err := server.setListenAddr(DefaultAuthHost, port); err != nil {
|
||||
if err := server.setListenAddr(n.config.AuthHost, port); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := server.enableWS(apis, wsConfig{
|
||||
@ -467,6 +468,7 @@ func (n *Node) startRPC() error {
|
||||
servers = append(servers, server)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Set up HTTP.
|
||||
if n.config.HTTPHost != "" {
|
||||
// Configure legacy unauthenticated HTTP.
|
||||
|
Reference in New Issue
Block a user