diff options
| author | chrislu <chris.lu@gmail.com> | 2022-03-15 22:28:18 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-03-15 22:28:18 -0700 |
| commit | 3639cad69cf58f7161aff2a639829c195d08ec30 (patch) | |
| tree | 9f45239b5ef240a36f22b428cbb88438c551ab2b /weed/command/master.go | |
| parent | fbc9f0eb64346fdfcdb70e43bedec068f1447c64 (diff) | |
| download | seaweedfs-3639cad69cf58f7161aff2a639829c195d08ec30.tar.xz seaweedfs-3639cad69cf58f7161aff2a639829c195d08ec30.zip | |
master, filer, s3: also listen to "localhost" in addition to specific ip address
related to https://github.com/chrislusf/seaweedfs/issues/1937
Diffstat (limited to 'weed/command/master.go')
| -rw-r--r-- | weed/command/master.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/weed/command/master.go b/weed/command/master.go index 20fdc8a7b..1d236d532 100644 --- a/weed/command/master.go +++ b/weed/command/master.go @@ -134,7 +134,7 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) { ms := weed_server.NewMasterServer(r, masterOption.toMasterOption(masterWhiteList), peers) listeningAddress := util.JoinHostPort(*masterOption.ipBind, *masterOption.port) glog.V(0).Infof("Start Seaweed Master %s at %s", util.Version(), listeningAddress) - masterListener, e := util.NewListener(listeningAddress, 0) + masterListener, masterLocalListner, e := util.NewIpAndLocalListeners(*masterOption.ipBind, *masterOption.port, 0) if e != nil { glog.Fatalf("Master startup error: %v", e) } @@ -157,7 +157,7 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) { r.HandleFunc("/cluster/status", raftServer.StatusHandler).Methods("GET") // starting grpc server grpcPort := *masterOption.portGrpc - grpcL, err := util.NewListener(util.JoinHostPort(*masterOption.ipBind, grpcPort), 0) + grpcL, grpcLocalL, err := util.NewIpAndLocalListeners(*masterOption.ipBind, grpcPort, 0) if err != nil { glog.Fatalf("master failed to listen on grpc port %d: %v", grpcPort, err) } @@ -166,6 +166,9 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) { protobuf.RegisterRaftServer(grpcS, raftServer) reflection.Register(grpcS) glog.V(0).Infof("Start Seaweed Master %s grpc server at %s:%d", util.Version(), *masterOption.ipBind, grpcPort) + if grpcLocalL != nil { + go grpcS.Serve(grpcLocalL) + } go grpcS.Serve(grpcL) go func() { @@ -181,6 +184,9 @@ func startMaster(masterOption MasterOptions, masterWhiteList []string) { // start http server httpS := &http.Server{Handler: r} + if masterLocalListner != nil { + go httpS.Serve(masterLocalListner) + } go httpS.Serve(masterListener) select {} |
