Selaa lähdekoodia

#31608 Add S3 Setting to Force Path Type Access (#34721)

* SNAPSHOTS: Use Path Style Access in S3

* Use path style access pattern to fix #31608
* closes #31608
Armin Braun 7 vuotta sitten
vanhempi
commit
02b4e28534

+ 3 - 0
docs/plugins/repository-s3.asciidoc

@@ -304,6 +304,9 @@ You may further restrict the permissions by specifying a prefix within the bucke
 The bucket needs to exist to register a repository for snapshots. If you did not create the bucket then the repository
 registration will fail.
 
+Note: Starting in version 7.0, all bucket operations are using the path style access pattern. In previous versions the decision to use virtual hosted style
+or path style access was made by the AWS Java SDK.
+
 [[repository-s3-aws-vpc]]
 [float]
 ==== AWS VPC Bandwidth Settings

+ 7 - 0
docs/reference/migration/migrate_7_0/plugins.asciidoc

@@ -22,6 +22,13 @@ must now be specified in the client settings instead.
 
 See {plugins}/repository-gcs-client.html#repository-gcs-client[Google Cloud Storage Client Settings].
 
+[float]
+==== S3 Repository Plugin
+
+* The plugin now uses the path style access pattern for all requests.
+In previous versions it was automatically determining whether to use virtual hosted style or path style
+access.
+
 [float]
 ==== Analysis Plugin changes
 

+ 2 - 1
plugins/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3Service.java

@@ -107,7 +107,8 @@ class S3Service extends AbstractComponent implements Closeable {
         //
         // We do this because directly constructing the client is deprecated (was already deprecated in 1.1.223 too)
         // so this change removes that usage of a deprecated API.
-        builder.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, null));
+        builder.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, null))
+            .enablePathStyleAccess();
 
         return builder.build();
     }