mirror of
https://github.com/khairul169/garage-webui.git
synced 2025-06-14 20:59:32 +07:00
fix: browser for bucket handle https connection using new resolver
This commit is contained in:
parent
ff39a6cd82
commit
5f0f200c03
@ -331,15 +331,26 @@ func getS3Client(bucket string) (*s3.Client, error) {
|
|||||||
return nil, fmt.Errorf("cannot get credentials for bucket %s: %w", bucket, err)
|
return nil, fmt.Errorf("cannot get credentials for bucket %s: %w", bucket, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Determine endpoint and whether to disable HTTPS
|
||||||
|
endpoint := utils.Garage.GetS3Endpoint()
|
||||||
|
disableHTTPS := !strings.HasPrefix(endpoint, "https://")
|
||||||
|
|
||||||
|
// AWS config without BaseEndpoint
|
||||||
awsConfig := aws.Config{
|
awsConfig := aws.Config{
|
||||||
Credentials: creds,
|
Credentials: creds,
|
||||||
Region: utils.Garage.GetS3Region(),
|
Region: utils.Garage.GetS3Region(),
|
||||||
BaseEndpoint: aws.String(utils.Garage.GetS3Endpoint()),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Build S3 client with custom endpoint resolver for proper signing
|
||||||
client := s3.NewFromConfig(awsConfig, func(o *s3.Options) {
|
client := s3.NewFromConfig(awsConfig, func(o *s3.Options) {
|
||||||
o.UsePathStyle = true
|
o.UsePathStyle = true
|
||||||
o.EndpointOptions.DisableHTTPS = true
|
o.EndpointOptions.DisableHTTPS = disableHTTPS
|
||||||
|
o.EndpointResolver = s3.EndpointResolverFunc(func(region string, opts s3.EndpointResolverOptions) (aws.Endpoint, error) {
|
||||||
|
return aws.Endpoint{
|
||||||
|
URL: endpoint,
|
||||||
|
SigningRegion: utils.Garage.GetS3Region(),
|
||||||
|
}, nil
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
return client, nil
|
return client, nil
|
||||||
|
Loading…
x
Reference in New Issue
Block a user