aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@uber.com>2019-03-21 16:00:46 -0700
committerChris Lu <chris.lu@uber.com>2019-03-21 16:00:46 -0700
commita3490b600cad88ced4ea9bf3672b8566f207f57f (patch)
tree158a0fa50350132687ae842e2ba10cd4e9b72397
parent531add52c27f2754c36626f1efeab15029a47e29 (diff)
downloadseaweedfs-a3490b600cad88ced4ea9bf3672b8566f207f57f.tar.xz
seaweedfs-a3490b600cad88ced4ea9bf3672b8566f207f57f.zip
weed filer, weed master: add option to disable http
-rw-r--r--weed/command/filer.go3
-rw-r--r--weed/command/master.go4
-rw-r--r--weed/command/server.go5
-rw-r--r--weed/server/filer_server.go5
-rw-r--r--weed/server/master_server.go18
5 files changed, 20 insertions, 15 deletions
diff --git a/weed/command/filer.go b/weed/command/filer.go
index d12d661a8..5b3f733bd 100644
--- a/weed/command/filer.go
+++ b/weed/command/filer.go
@@ -33,6 +33,7 @@ type FilerOptions struct {
dirListingLimit *int
dataCenter *string
enableNotification *bool
+ disableHttp *bool
// default leveldb directory, used in "weed server" mode
defaultLevelDbDirectory *string
@@ -52,6 +53,7 @@ func init() {
f.maxMB = cmdFiler.Flag.Int("maxMB", 32, "split files larger than the limit")
f.dirListingLimit = cmdFiler.Flag.Int("dirListLimit", 100000, "limit sub dir listing size")
f.dataCenter = cmdFiler.Flag.String("dataCenter", "", "prefer to write to volumes in this data center")
+ f.disableHttp = cmdFiler.Flag.Bool("disableHttp", false, "disable http request, only gRpc operations are allowed")
}
var cmdFiler = &Command{
@@ -108,6 +110,7 @@ func (fo *FilerOptions) startFiler() {
DirListingLimit: *fo.dirListingLimit,
DataCenter: *fo.dataCenter,
DefaultLevelDbDir: defaultLevelDbDirectory,
+ DisableHttp: *fo.disableHttp,
})
if nfs_err != nil {
glog.Fatalf("Filer startup error: %v", nfs_err)
diff --git a/weed/command/master.go b/weed/command/master.go
index 4207a331c..15d1171e0 100644
--- a/weed/command/master.go
+++ b/weed/command/master.go
@@ -47,7 +47,7 @@ var (
mMaxCpu = cmdMaster.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs")
garbageThreshold = cmdMaster.Flag.Float64("garbageThreshold", 0.3, "threshold to vacuum and reclaim spaces")
masterWhiteListOption = cmdMaster.Flag.String("whiteList", "", "comma separated Ip addresses having write permission. No limit if empty.")
- httpReadOnly = cmdMaster.Flag.Bool("httpReadOnly", false, "disable http operations, only gRPC operations are allowed.")
+ disableHttp = cmdMaster.Flag.Bool("disableHttp", false, "disable http requests, only gRPC operations are allowed.")
masterCpuProfile = cmdMaster.Flag.String("cpuprofile", "", "cpu profile output file")
masterMemProfile = cmdMaster.Flag.String("memprofile", "", "memory profile output file")
@@ -79,7 +79,7 @@ func runMaster(cmd *Command, args []string) bool {
*volumeSizeLimitMB, *volumePreallocate,
*mpulse, *defaultReplicaPlacement, *garbageThreshold,
masterWhiteList,
- *httpReadOnly,
+ *disableHttp,
)
listeningAddress := *masterBindIp + ":" + strconv.Itoa(*mport)
diff --git a/weed/command/server.go b/weed/command/server.go
index cc63c96e1..d88ded0ee 100644
--- a/weed/command/server.go
+++ b/weed/command/server.go
@@ -60,7 +60,7 @@ var (
serverDataCenter = cmdServer.Flag.String("dataCenter", "", "current volume server's data center name")
serverRack = cmdServer.Flag.String("rack", "", "current volume server's rack name")
serverWhiteListOption = cmdServer.Flag.String("whiteList", "", "comma separated Ip addresses having write permission. No limit if empty.")
- masterHttpReadOnly = cmdServer.Flag.Bool("master.httpReadOnly", false, "disable http operations, only gRPC operations are allowed.")
+ serverDisableHttp = cmdServer.Flag.Bool("disableHttp", false, "disable http requests, only gRPC operations are allowed.")
serverPeers = cmdServer.Flag.String("master.peers", "", "all master nodes in comma separated ip:masterPort list")
serverGarbageThreshold = cmdServer.Flag.Float64("garbageThreshold", 0.3, "threshold to vacuum and reclaim spaces")
masterPort = cmdServer.Flag.Int("master.port", 9333, "master server http listen port")
@@ -127,6 +127,7 @@ func runServer(cmd *Command, args []string) bool {
serverOptions.v.pulseSeconds = pulseSeconds
filerOptions.dataCenter = serverDataCenter
+ filerOptions.disableHttp = serverDisableHttp
if *filerOptions.defaultReplicaPlacement == "" {
*filerOptions.defaultReplicaPlacement = *masterDefaultReplicaPlacement
@@ -173,7 +174,7 @@ func runServer(cmd *Command, args []string) bool {
ms := weed_server.NewMasterServer(r, *masterPort, *masterMetaFolder,
*masterVolumeSizeLimitMB, *masterVolumePreallocate,
*pulseSeconds, *masterDefaultReplicaPlacement, *serverGarbageThreshold,
- serverWhiteList, *masterHttpReadOnly,
+ serverWhiteList, *serverDisableHttp,
)
glog.V(0).Infof("Start Seaweed Master %s at %s:%d", util.VERSION, *serverIp, *masterPort)
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go
index 43d319398..39238cc1f 100644
--- a/weed/server/filer_server.go
+++ b/weed/server/filer_server.go
@@ -34,6 +34,7 @@ type FilerOption struct {
DirListingLimit int
DataCenter string
DefaultLevelDbDir string
+ DisableHttp bool
}
type FilerServer struct {
@@ -74,7 +75,9 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
notification.LoadConfiguration(v.Sub("notification"))
handleStaticResources(defaultMux)
- defaultMux.HandleFunc("/", fs.filerHandler)
+ if !option.DisableHttp {
+ defaultMux.HandleFunc("/", fs.filerHandler)
+ }
if defaultMux != readonlyMux {
readonlyMux.HandleFunc("/", fs.readonlyFilerHandler)
}
diff --git a/weed/server/master_server.go b/weed/server/master_server.go
index 4ecb9f192..a70de5e6e 100644
--- a/weed/server/master_server.go
+++ b/weed/server/master_server.go
@@ -49,7 +49,7 @@ func NewMasterServer(r *mux.Router, port int, metaFolder string,
defaultReplicaPlacement string,
garbageThreshold float64,
whiteList []string,
- httpReadOnly bool,
+ disableHttp bool,
) *MasterServer {
v := viper.GetViper()
@@ -77,10 +77,10 @@ func NewMasterServer(r *mux.Router, port int, metaFolder string,
ms.guard = security.NewGuard(whiteList, signingKey)
- handleStaticResources2(r)
- r.HandleFunc("/", ms.uiStatusHandler)
- r.HandleFunc("/ui/index.html", ms.uiStatusHandler)
- if !httpReadOnly {
+ if !disableHttp {
+ handleStaticResources2(r)
+ r.HandleFunc("/", ms.uiStatusHandler)
+ r.HandleFunc("/ui/index.html", ms.uiStatusHandler)
r.HandleFunc("/dir/assign", ms.proxyToLeader(ms.guard.WhiteList(ms.dirAssignHandler)))
r.HandleFunc("/dir/lookup", ms.proxyToLeader(ms.guard.WhiteList(ms.dirLookupHandler)))
r.HandleFunc("/dir/status", ms.proxyToLeader(ms.guard.WhiteList(ms.dirStatusHandler)))
@@ -89,11 +89,9 @@ func NewMasterServer(r *mux.Router, port int, metaFolder string,
r.HandleFunc("/vol/status", ms.proxyToLeader(ms.guard.WhiteList(ms.volumeStatusHandler)))
r.HandleFunc("/vol/vacuum", ms.proxyToLeader(ms.guard.WhiteList(ms.volumeVacuumHandler)))
r.HandleFunc("/submit", ms.guard.WhiteList(ms.submitFromMasterServerHandler))
- }
- r.HandleFunc("/stats/health", ms.guard.WhiteList(statsHealthHandler))
- r.HandleFunc("/stats/counter", ms.guard.WhiteList(statsCounterHandler))
- r.HandleFunc("/stats/memory", ms.guard.WhiteList(statsMemoryHandler))
- if !httpReadOnly {
+ r.HandleFunc("/stats/health", ms.guard.WhiteList(statsHealthHandler))
+ r.HandleFunc("/stats/counter", ms.guard.WhiteList(statsCounterHandler))
+ r.HandleFunc("/stats/memory", ms.guard.WhiteList(statsMemoryHandler))
r.HandleFunc("/{fileId}", ms.proxyToLeader(ms.redirectHandler))
}