diff --git a/src/main/java/de/sub/goobi/config/ConfigurationHelper.java b/src/main/java/de/sub/goobi/config/ConfigurationHelper.java index 40eaab7df..2bed0ab88 100644 --- a/src/main/java/de/sub/goobi/config/ConfigurationHelper.java +++ b/src/main/java/de/sub/goobi/config/ConfigurationHelper.java @@ -921,6 +921,10 @@ public int getS3SocketTimeout() { return getLocalInt("S3SocketTimeout", 10000); } + public boolean isS3UseForcePathStyle() { + return getLocalBoolean("S3ForcePathStyle", false); + } + /* * category in goobi_config.properties: PROXY SERVER */ diff --git a/src/main/java/de/sub/goobi/helper/S3FileUtils.java b/src/main/java/de/sub/goobi/helper/S3FileUtils.java index a4c635360..6f9c0a337 100644 --- a/src/main/java/de/sub/goobi/helper/S3FileUtils.java +++ b/src/main/java/de/sub/goobi/helper/S3FileUtils.java @@ -138,6 +138,7 @@ public static S3AsyncClient createS3Client() throws URISyntaxException { .targetThroughputInGbps(20.0) .endpointOverride(endpoint) .credentialsProvider(prov) + .forcePathStyle(conf.isS3UseForcePathStyle()) .checksumValidationEnabled(false) .build(); } else { diff --git a/src/main/resources/template.properties b/src/main/resources/template.properties index 9123b1725..24e087d99 100644 --- a/src/main/resources/template.properties +++ b/src/main/resources/template.properties @@ -316,6 +316,10 @@ downloadAvailableColumn=PlaceOfPublication # The timeout for socket concerning things #S3SocketTimeout=10000 +# sets forcePathStyle, this is needed when s3 endpoint contains multiple dots +#S3ForcePathStyle=false + + # ----------------------------------- # proxy server # -----------------------------------