diff --git a/build.gradle b/build.gradle
index 8fc397624..a4c0f5b0f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -70,7 +70,7 @@ ext {
     levelDbVersion = "0.12"
     annotationsVersion = "3.0.1u2"
     zxingVersion = '3.4.1'
-    huaweiObsVersion = '3.21.8.1'
+    huaweiObsVersion = '3.21.4'
     templateInheritanceVersion = "0.4.RELEASE"
     jsoupVersion = '1.14.3'
     embeddedRedisVersion = '0.6'
diff --git a/src/test/java/run/halo/app/handler/file/HuaweiObsSdkTest.java b/src/test/java/run/halo/app/handler/file/HuaweiObsSdkTest.java
new file mode 100644
index 000000000..c84250738
--- /dev/null
+++ b/src/test/java/run/halo/app/handler/file/HuaweiObsSdkTest.java
@@ -0,0 +1,46 @@
+package run.halo.app.handler.file;
+
+import com.obs.services.internal.ObsProperties;
+import com.obs.services.internal.RestConnectionService;
+import com.obs.services.internal.ServiceException;
+import com.obs.services.model.HttpMethodEnum;
+import java.util.Map;
+import okhttp3.Request;
+import okhttp3.RequestBody;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+class HuaweiObsSdkTest {
+
+    /**
+     * See
+     * <a href="https://github.com/halo-dev/halo/issues/1909">
+     * https://github.com/halo-dev/halo/issues/1909
+     * </a>
+     * for more.
+     */
+    @Test
+    void shouldSetUpConnectionCorrectly() {
+        var connSvc = new RestConnectionService() {
+
+            {
+                // We have to initialize the obsProperties, or we will get a NPE while setting up
+                // connection.
+                obsProperties = new ObsProperties();
+            }
+
+            @Override
+            public Request.Builder setupConnection(HttpMethodEnum method, String bucketName,
+                String objectKey,
+                Map<String, String> requestParameters,
+                RequestBody body) throws ServiceException {
+                return super.setupConnection(method, bucketName, objectKey, requestParameters,
+                    body);
+            }
+        };
+        var builder = connSvc.setupConnection(HttpMethodEnum.GET, "fake-bucket-name",
+            "fake-object-key", Map.of(), null);
+        Assertions.assertNotNull(builder);
+    }
+
+}