aboutsummaryrefslogtreecommitdiff
path: root/weed
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-02-25 00:43:36 -0800
committerChris Lu <chris.lu@gmail.com>2019-02-25 00:43:36 -0800
commit7bbe24dd2857e345df84de76a844936f29a8fdc1 (patch)
tree58aedd69bd8fcd1e7921bd1051af7caef060bb23 /weed
parentc892b898a1950b0faf8a8c6409a45b627b81685b (diff)
downloadseaweedfs-7bbe24dd2857e345df84de76a844936f29a8fdc1.tar.xz
seaweedfs-7bbe24dd2857e345df84de76a844936f29a8fdc1.zip
volume server directly support https
Diffstat (limited to 'weed')
-rw-r--r--weed/command/scaffold.go13
-rw-r--r--weed/command/volume.go11
2 files changed, 20 insertions, 4 deletions
diff --git a/weed/command/scaffold.go b/weed/command/scaffold.go
index cb0a726ce..9e45d7381 100644
--- a/weed/command/scaffold.go
+++ b/weed/command/scaffold.go
@@ -255,8 +255,6 @@ directory = "/" # destination directory
[jwt.signing]
key = ""
-# volume server also uses grpc that should be secured.
-
# all grpc tls authentications are mutual
# the values for the following ca, cert, and key are paths to the PERM files.
[grpc]
@@ -280,5 +278,16 @@ key = ""
cert = ""
key = ""
+
+# volume server https options
+# Note: work in progress!
+# this does not work with other clients, e.g., "weed filer|mount" etc, yet.
+[https.client]
+enabled = true
+[https.volume]
+cert = ""
+key = ""
+
+
`
)
diff --git a/weed/command/volume.go b/weed/command/volume.go
index 32ec7819b..2ee6bb11a 100644
--- a/weed/command/volume.go
+++ b/weed/command/volume.go
@@ -195,8 +195,15 @@ func (v VolumeServerOptions) startVolumeServer(volumeFolders, maxVolumeCounts, v
reflection.Register(grpcS)
go grpcS.Serve(grpcL)
- if e := http.Serve(listener, volumeMux); e != nil {
- glog.Fatalf("Volume server fail to serve: %v", e)
+ if viper.GetString("https.volume.key") != "" {
+ if e := http.ServeTLS(listener, volumeMux,
+ viper.GetString("https.volume.cert"), viper.GetString("https.volume.key")); e != nil {
+ glog.Fatalf("Volume server fail to serve: %v", e)
+ }
+ } else {
+ if e := http.Serve(listener, volumeMux); e != nil {
+ glog.Fatalf("Volume server fail to serve: %v", e)
+ }
}
}