mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
s3: use bucket in the domain
fix https://github.com/chrislusf/seaweedfs/issues/1405
This commit is contained in:
parent
bfa07af326
commit
a566bfc6e1
|
@ -151,6 +151,7 @@ func (s3opt *S3Options) startS3Server() bool {
|
|||
|
||||
_, s3ApiServer_err := s3api.NewS3ApiServer(router, &s3api.S3ApiServerOption{
|
||||
Filer: *s3opt.filer,
|
||||
Port: *s3opt.port,
|
||||
FilerGrpcAddress: filerGrpcAddress,
|
||||
Config: *s3opt.config,
|
||||
DomainName: *s3opt.domainName,
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package s3api
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
|
@ -9,6 +10,7 @@ import (
|
|||
|
||||
type S3ApiServerOption struct {
|
||||
Filer string
|
||||
Port int
|
||||
FilerGrpcAddress string
|
||||
Config string
|
||||
DomainName string
|
||||
|
@ -37,7 +39,10 @@ func (s3a *S3ApiServer) registerRouter(router *mux.Router) {
|
|||
apiRouter := router.PathPrefix("/").Subrouter()
|
||||
var routers []*mux.Router
|
||||
if s3a.option.DomainName != "" {
|
||||
routers = append(routers, apiRouter.Host("{bucket:.+}."+s3a.option.DomainName).Subrouter())
|
||||
routers = append(routers, apiRouter.Host(
|
||||
fmt.Sprintf("%s.%s:%d", "{bucket:.+}", s3a.option.DomainName, s3a.option.Port)).Subrouter())
|
||||
routers = append(routers, apiRouter.Host(
|
||||
fmt.Sprintf("%s.%s", "{bucket:.+}", s3a.option.DomainName)).Subrouter())
|
||||
}
|
||||
routers = append(routers, apiRouter.PathPrefix("/{bucket}").Subrouter())
|
||||
|
||||
|
|
Loading…
Reference in a new issue