server: add secure redirect option
This commit is contained in:
parent
e70c29a9ba
commit
61986da0b1
6 changed files with 16 additions and 4 deletions
|
|
@ -10,6 +10,7 @@ AWS_SECRET_KEY=example-minio-secret
|
|||
# AWS_SESSION_TOKEN
|
||||
|
||||
# accessible S3 gateway
|
||||
OBS_REDIRECT_SECURE=false
|
||||
OBS_HOST_REDIRECT=127.0.0.1:9000
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,4 +10,5 @@ AWS_SECRET_KEY=example-minio-secret
|
|||
# AWS_SESSION_TOKEN
|
||||
|
||||
# accessible S3 gateway
|
||||
OBS_REDIRECT_SECURE=false
|
||||
OBS_HOST_REDIRECT=127.0.0.1:9000
|
||||
|
|
@ -3,11 +3,11 @@ version: '3'
|
|||
services:
|
||||
# obs access signer
|
||||
obs-access-signer:
|
||||
image: obs-access-signer:dev
|
||||
networks:
|
||||
- obs
|
||||
# image: obs-access-signer:dev
|
||||
build:
|
||||
context: ..
|
||||
networks:
|
||||
- obs
|
||||
env_file:
|
||||
- ../.config/example.env
|
||||
ports:
|
||||
|
|
|
|||
3
main.go
3
main.go
|
|
@ -40,6 +40,7 @@ func init() {
|
|||
flag.BoolVar(&defaultObsOpts.Secure, "obs-secure", ok1(strconv.ParseBool(os.Getenv("OBS_SECURE"))), "OBS secure transport")
|
||||
flag.StringVar(&defaultObsOpts.BucketName, "obs-bucket", os.Getenv("OBS_BUCKET_NAME"), "OBS bucket name")
|
||||
|
||||
flag.BoolVar(&defaultObsOpts.RedirectSecure, "obs-redirect-secure", ok1(strconv.ParseBool(os.Getenv("OBS_REDIRECT_SECURE"))), "OBS redirect secure transport")
|
||||
flag.StringVar(&defaultObsOpts.HostRedirect, "obs-host-redirect", os.Getenv("OBS_HOST_REDIRECT"), "OBS host redirect")
|
||||
|
||||
// obsSignedUrlExpiry, err = time.ParseDuration(os.Getenv("OBS_SIGNED_URL_EXPIRY"))
|
||||
|
|
@ -72,7 +73,9 @@ func main() {
|
|||
sug := logger.Named("main").Sugar()
|
||||
sug.Infow("starting",
|
||||
"log_level", zapLogLevel,
|
||||
"obs_bucket", defaultObsOpts.BucketName,
|
||||
"obs_endpoint", defaultObsOpts.Endpoint,
|
||||
"obs_redirect_secure", defaultObsOpts.RedirectSecure,
|
||||
"obs_host_redirect", defaultObsOpts.HostRedirect,
|
||||
)
|
||||
|
||||
|
|
|
|||
1
obs.go
1
obs.go
|
|
@ -20,6 +20,7 @@ type obsOptions struct {
|
|||
Secure bool
|
||||
BucketName string
|
||||
|
||||
RedirectSecure bool
|
||||
HostRedirect string
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -130,6 +130,12 @@ func (s *server) handle(ctx *fasthttp.RequestCtx) {
|
|||
query := req.URL.Query()
|
||||
query.Set("Expires", exp)
|
||||
req.URL.RawQuery = s3utils.QueryEncode(query)
|
||||
if s.opts.OBS.RedirectSecure {
|
||||
req.URL.Scheme = "https"
|
||||
} else {
|
||||
req.URL.Scheme = "http"
|
||||
}
|
||||
|
||||
if hostRedirect := s.opts.OBS.HostRedirect; hostRedirect != "" {
|
||||
req.URL.Host = hostRedirect
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue