From ca3d5912e16b39697bdeeda35d10b44ed8f711aa Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Mon, 9 May 2022 11:49:25 +0200 Subject: Add use proxy for s3 (#4973) * Fix object storage to be accessible via proxy * fix lint * Use hpagent * Fix lint * Fix PR Co-authored-by: noellabo --- server/lib/object-storage/shared/client.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'server/lib') diff --git a/server/lib/object-storage/shared/client.ts b/server/lib/object-storage/shared/client.ts index c9a614593..d5cb074df 100644 --- a/server/lib/object-storage/shared/client.ts +++ b/server/lib/object-storage/shared/client.ts @@ -1,8 +1,22 @@ import { S3Client } from '@aws-sdk/client-s3' +import { NodeHttpHandler } from '@aws-sdk/node-http-handler' import { logger } from '@server/helpers/logger' +import { isProxyEnabled } from '@server/helpers/proxy' +import { getAgent } from '@server/helpers/requests' import { CONFIG } from '@server/initializers/config' import { lTags } from './logger' +function getProxyRequestHandler () { + if (!isProxyEnabled()) return null + + const { agent } = getAgent() + + return new NodeHttpHandler({ + httpAgent: agent.http, + httpsAgent: agent.https + }) +} + let endpointParsed: URL function getEndpointParsed () { if (endpointParsed) return endpointParsed @@ -26,7 +40,8 @@ function getClient () { accessKeyId: OBJECT_STORAGE.CREDENTIALS.ACCESS_KEY_ID, secretAccessKey: OBJECT_STORAGE.CREDENTIALS.SECRET_ACCESS_KEY } - : undefined + : undefined, + requestHandler: getProxyRequestHandler() }) logger.info('Initialized S3 client %s with region %s.', getEndpoint(), OBJECT_STORAGE.REGION, lTags()) -- cgit v1.2.3