diff --git a/internal/core/src/storage/ChunkManager.cpp b/internal/core/src/storage/ChunkManager.cpp index ea097e47d1..781bf72ed4 100644 --- a/internal/core/src/storage/ChunkManager.cpp +++ b/internal/core/src/storage/ChunkManager.cpp @@ -145,6 +145,10 @@ AliyunChunkManager::AliyunChunkManager(const StorageConfig& storage_config) { InitSDKAPIDefault(storage_config.log_level); Aws::Client::ClientConfiguration config = generateConfig(storage_config); + + // For aliyun oss, support use virtual host mode + StorageConfig mutable_config = storage_config; + mutable_config.useVirtualHost = true; if (storage_config.useIAM) { auto aliyun_provider = Aws::MakeShared< Aws::Auth::AliyunSTSAssumeRoleWebIdentityCredentialsProvider>( @@ -160,9 +164,9 @@ AliyunChunkManager::AliyunChunkManager(const StorageConfig& storage_config) { aliyun_provider, config, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, - storage_config.useVirtualHost); + mutable_config.useVirtualHost); } else { - BuildAccessKeyClient(storage_config, config); + BuildAccessKeyClient(mutable_config, config); } LOG_SEGCORE_INFO_ << "init AliyunChunkManager with parameter[endpoint: '" diff --git a/internal/core/src/storage/MinioChunkManager.cpp b/internal/core/src/storage/MinioChunkManager.cpp index de723afac1..5f926800f4 100644 --- a/internal/core/src/storage/MinioChunkManager.cpp +++ b/internal/core/src/storage/MinioChunkManager.cpp @@ -238,6 +238,9 @@ void MinioChunkManager::BuildAliyunCloudClient( const StorageConfig& storage_config, const Aws::Client::ClientConfiguration& config) { + // For aliyun oss, support use virtual host mode + StorageConfig mutable_config = storage_config; + mutable_config.useVirtualHost = true; if (storage_config.useIAM) { auto aliyun_provider = Aws::MakeShared< Aws::Auth::AliyunSTSAssumeRoleWebIdentityCredentialsProvider>( @@ -253,9 +256,9 @@ MinioChunkManager::BuildAliyunCloudClient( aliyun_provider, config, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, - storage_config.useVirtualHost); + mutable_config.useVirtualHost); } else { - BuildAccessKeyClient(storage_config, config); + BuildAccessKeyClient(mutable_config, config); } }