aboutsummaryrefslogtreecommitdiff
path: root/weed/command/s3.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-03-15 22:28:18 -0700
committerchrislu <chris.lu@gmail.com>2022-03-15 22:28:18 -0700
commit3639cad69cf58f7161aff2a639829c195d08ec30 (patch)
tree9f45239b5ef240a36f22b428cbb88438c551ab2b /weed/command/s3.go
parentfbc9f0eb64346fdfcdb70e43bedec068f1447c64 (diff)
downloadseaweedfs-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/s3.go')
-rw-r--r--weed/command/s3.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/weed/command/s3.go b/weed/command/s3.go
index 08e0afa4c..467da73fd 100644
--- a/weed/command/s3.go
+++ b/weed/command/s3.go
@@ -198,7 +198,7 @@ func (s3opt *S3Options) startS3Server() bool {
}
listenAddress := fmt.Sprintf("%s:%d", *s3opt.bindIp, *s3opt.port)
- s3ApiListener, err := util.NewListener(listenAddress, time.Duration(10)*time.Second)
+ s3ApiListener, s3ApiLocalListner, err := util.NewIpAndLocalListeners(*s3opt.bindIp, *s3opt.port, time.Duration(10)*time.Second)
if err != nil {
glog.Fatalf("S3 API Server listener on %s error: %v", listenAddress, err)
}
@@ -212,11 +212,25 @@ func (s3opt *S3Options) startS3Server() bool {
if *s3opt.tlsPrivateKey != "" {
glog.V(0).Infof("Start Seaweed S3 API Server %s at https port %d", util.Version(), *s3opt.port)
+ if s3ApiLocalListner != nil {
+ go func() {
+ if err = httpS.ServeTLS(s3ApiLocalListner, *s3opt.tlsCertificate, *s3opt.tlsPrivateKey); err != nil {
+ glog.Fatalf("S3 API Server Fail to serve: %v", err)
+ }
+ }()
+ }
if err = httpS.ServeTLS(s3ApiListener, *s3opt.tlsCertificate, *s3opt.tlsPrivateKey); err != nil {
glog.Fatalf("S3 API Server Fail to serve: %v", err)
}
} else {
glog.V(0).Infof("Start Seaweed S3 API Server %s at http port %d", util.Version(), *s3opt.port)
+ if s3ApiLocalListner != nil {
+ go func() {
+ if err = httpS.Serve(s3ApiLocalListner); err != nil {
+ glog.Fatalf("S3 API Server Fail to serve: %v", err)
+ }
+ }()
+ }
if err = httpS.Serve(s3ApiListener); err != nil {
glog.Fatalf("S3 API Server Fail to serve: %v", err)
}