From 7dd7a2e81e35989e4be4cb135206b35672cc4a6b Mon Sep 17 00:00:00 2001 From: Sergey Konovalov Date: Tue, 8 Apr 2025 17:50:30 +0300 Subject: [PATCH] [bug] Fix ERR_INVALID_PROTOCOL error; Fix bug 73913 --- Common/sources/storage-s3.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Common/sources/storage-s3.js b/Common/sources/storage-s3.js index d45ce946..2b6c1bfd 100644 --- a/Common/sources/storage-s3.js +++ b/Common/sources/storage-s3.js @@ -33,7 +33,8 @@ 'use strict'; const fs = require('fs'); const url = require('url'); -const { Agent } = require('https'); +const { Agent: HttpsAgent } = require('https'); +const { Agent: HttpAgent } = require('http'); const path = require('path'); const { S3Client, ListObjectsCommand, HeadObjectCommand} = require("@aws-sdk/client-s3"); const { GetObjectCommand, PutObjectCommand, CopyObjectCommand} = require("@aws-sdk/client-s3"); @@ -76,11 +77,12 @@ function getS3Client(storageCfg) { configS3.tls = storageCfg.sslEnabled; configS3.forcePathStyle = storageCfg.s3ForcePathStyle; } - //todo dedicated options? - const agent = new Agent(cfgRequestDefaults); + //Use separate agents for HTTP and HTTPS + const httpsAgent = new HttpsAgent(cfgRequestDefaults); + const httpAgent = new HttpAgent(cfgRequestDefaults); configS3.requestHandler = new NodeHttpHandler({ - httpAgent: agent, - httpsAgent: agent + httpAgent: httpAgent, + httpsAgent: httpsAgent }); let configJson = JSON.stringify(configS3); let client = clients[configJson];