diff --git a/plugin.xml b/plugin.xml
index efa4237..dc2e95a 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -5,12 +5,13 @@
     <main-package>com.fanruan.fs</main-package>
     <active>yes</active>
     <hidden>no</hidden>
-    <version>1.3.1</version>
+    <version>1.3.2</version>
     <env-version>10.0~10.0</env-version>
     <jartime>2021-03-11</jartime>
     <vendor>richie</vendor>
     <description><![CDATA[使用支持S3协议的云存储文件系统作为文件服务器。]]></description>
     <change-notes><![CDATA[
+        [2022-06-30]新增enablePathStyleAccess、signerOverride后台配置<br/>
         [2022-06-14]第三方组件升级。 <br/>
         [2022-03-10]第三方组件升级。 <br/>
         [2021-07-16]提供韩文、日文、繁体等国际化文件。 <br/>
diff --git a/src/main/java/com/fanruan/fs/s3/repository/core/S3Config.java b/src/main/java/com/fanruan/fs/s3/repository/core/S3Config.java
index 8bb23c4..5821864 100644
--- a/src/main/java/com/fanruan/fs/s3/repository/core/S3Config.java
+++ b/src/main/java/com/fanruan/fs/s3/repository/core/S3Config.java
@@ -32,6 +32,12 @@ public class S3Config extends CommonRepoConfig {
     @Identifier("bucket")
     private Conf<String> bucket = HolderKit.simple(StringUtils.EMPTY);
 
+    @Identifier("enablePathStyleAccess")
+    private Conf<Boolean> enablePathStyleAccess = HolderKit.simple(false);
+
+    @Identifier("signerOverride")
+    private Conf<String> signerOverride = HolderKit.simple(StringUtils.EMPTY);
+
     @GetConfig("endPoint")
     public String getEndPoint() {
         return endPoint.get();
@@ -72,6 +78,26 @@ public class S3Config extends CommonRepoConfig {
         this.bucket.set(bucket);
     }
 
+    @GetConfig("enablePathStyleAccess")
+    public boolean isEnablePathStyleAccess() {
+        return enablePathStyleAccess.get();
+    }
+
+    @SetConfig("enablePathStyleAccess")
+    public void setEnablePathStyleAccess(boolean enablePathStyleAccess) {
+        this.enablePathStyleAccess.set(enablePathStyleAccess);
+    }
+
+    @GetConfig("signerOverride")
+    public String getSignerOverride() {
+        return signerOverride.get();
+    }
+
+    @SetConfig("signerOverride")
+    public void setSignerOverride(String signerOverride) {
+        this.signerOverride.set(signerOverride);
+    }
+
     @Override
     public void update(String key) {
         super.update(key);
@@ -81,6 +107,8 @@ public class S3Config extends CommonRepoConfig {
             this.setRegion(newConfig.getRegion());
             this.setAccessKeyId(newConfig.getAccessKeyId());
             this.setBucket(newConfig.getBucket());
+            this.setEnablePathStyleAccess(newConfig.isEnablePathStyleAccess());
+            this.setSignerOverride(newConfig.getSignerOverride());
         }
     }
 
@@ -91,6 +119,8 @@ public class S3Config extends CommonRepoConfig {
         cloned.region = (Conf<String>) region.clone();
         cloned.accessKeyId = (Conf<String>) accessKeyId.clone();
         cloned.bucket = (Conf<String>) bucket.clone();
+        cloned.enablePathStyleAccess = (Conf<Boolean>) enablePathStyleAccess.clone();
+        cloned.signerOverride = (Conf<String>) signerOverride.clone();
         return cloned;
     }
 }
diff --git a/src/main/java/com/fanruan/fs/s3/repository/core/S3RepositoryFactory.java b/src/main/java/com/fanruan/fs/s3/repository/core/S3RepositoryFactory.java
index c10815a..560d81e 100644
--- a/src/main/java/com/fanruan/fs/s3/repository/core/S3RepositoryFactory.java
+++ b/src/main/java/com/fanruan/fs/s3/repository/core/S3RepositoryFactory.java
@@ -1,5 +1,7 @@
 package com.fanruan.fs.s3.repository.core;
 
+import com.amazonaws.ClientConfiguration;
+import com.amazonaws.Protocol;
 import com.amazonaws.auth.AWSStaticCredentialsProvider;
 import com.amazonaws.auth.BasicAWSCredentials;
 import com.amazonaws.client.builder.AwsClientBuilder;
@@ -9,6 +11,7 @@ import com.fanruan.api.log.LogKit;
 import com.fr.io.base.provider.impl.ConfigRepositoryFactory;
 import com.fr.io.context.info.RepositoryProfile;
 import com.fr.io.repository.ResourceRepository;
+import com.fr.stable.StringUtils;
 
 /**
  * @author richie
@@ -37,9 +40,19 @@ public class S3RepositoryFactory extends ConfigRepositoryFactory<S3Config> {
     public boolean verifyConfig(S3Config config) {
         try {
             BasicAWSCredentials credentials = new BasicAWSCredentials(config.getAccessKeyId(), config.getPassword());
-            AmazonS3 s3 = AmazonS3ClientBuilder.standard()
+            AmazonS3ClientBuilder amazonS3ClientBuilder = AmazonS3ClientBuilder.standard()
                     .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(config.getEndPoint(), config.getRegion()))
-                    .withCredentials(new AWSStaticCredentialsProvider(credentials)).build();
+                    .withCredentials(new AWSStaticCredentialsProvider(credentials));
+            if (config.isEnablePathStyleAccess()) {
+                amazonS3ClientBuilder = amazonS3ClientBuilder.enablePathStyleAccess();
+            }
+            if (StringUtils.isNotEmpty(config.getSignerOverride())) {
+                ClientConfiguration clientConfiguration = new ClientConfiguration();
+                clientConfiguration.setSignerOverride(config.getSignerOverride());
+                clientConfiguration.setProtocol(Protocol.HTTP);
+                amazonS3ClientBuilder = amazonS3ClientBuilder.withClientConfiguration(clientConfiguration);
+            }
+            AmazonS3 s3 = amazonS3ClientBuilder.build();
             s3.listObjects(config.getBucket());
         } catch (Exception e) {
             LogKit.error(e.getMessage(), e);
diff --git a/src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java b/src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java
index e411788..0864028 100644
--- a/src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java
+++ b/src/main/java/com/fanruan/fs/s3/repository/core/S3ResourceRepository.java
@@ -1,5 +1,7 @@
 package com.fanruan.fs.s3.repository.core;
 
+import com.amazonaws.ClientConfiguration;
+import com.amazonaws.Protocol;
 import com.amazonaws.auth.AWSStaticCredentialsProvider;
 import com.amazonaws.auth.BasicAWSCredentials;
 import com.amazonaws.client.builder.AwsClientBuilder;
@@ -17,6 +19,7 @@ import com.fanruan.api.util.StringKit;
 import com.fr.io.repository.FineFileEntry;
 import com.fr.io.repository.base.BaseResourceRepository;
 import com.fr.stable.Filter;
+import com.fr.stable.StringUtils;
 import com.fr.workspace.resource.ResourceIOException;
 
 import java.io.ByteArrayInputStream;
@@ -42,9 +45,19 @@ public class S3ResourceRepository extends BaseResourceRepository {
     public S3ResourceRepository(String repoName, String workRoot, S3Config config) {
         super(repoName, workRoot);
         BasicAWSCredentials credentials = new BasicAWSCredentials(config.getAccessKeyId(), config.getPassword());
-        this.s3 = AmazonS3ClientBuilder.standard()
+        AmazonS3ClientBuilder amazonS3ClientBuilder = AmazonS3ClientBuilder.standard()
                 .withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(config.getEndPoint(), config.getRegion()))
-                .withCredentials(new AWSStaticCredentialsProvider(credentials)).build();
+                .withCredentials(new AWSStaticCredentialsProvider(credentials));
+        if (config.isEnablePathStyleAccess()) {
+            amazonS3ClientBuilder = amazonS3ClientBuilder.enablePathStyleAccess();
+        }
+        if (StringUtils.isNotEmpty(config.getSignerOverride())) {
+            ClientConfiguration clientConfiguration = new ClientConfiguration();
+            clientConfiguration.setSignerOverride(config.getSignerOverride());
+            clientConfiguration.setProtocol(Protocol.HTTP);
+            amazonS3ClientBuilder = amazonS3ClientBuilder.withClientConfiguration(clientConfiguration);
+        }
+        this.s3 = amazonS3ClientBuilder.build();
         this.bucket = config.getBucket();
     }