Please confirm the following
OpenList Version (required)
4.2.5
Storage Driver Used (required)
s3,openlist挂载,Crypt
Bug Description (required)
通过WebDAV执行PUT操作上传文件时持续失败,返回HTTP 405错误。根本原因是声明的Content-Length(47字节)与实际请求体长度(32字节)不一致,导致代理上传到后端存储时出错。
部署架构
本地设备(质感文件APP) → 本地OpenList(Crypt加密驱动,arm架构的openlist,在root安卓上的termux切换到su运行)
→ 腾讯轻量服务器(OpenList中转 + COS挂载)
→ 腾讯云对象存储(COS)
Logs (required)
ERRO[2026-08-14 10:51:36] PROPFIND /dav/1 object not found
[GIN] 2026/08/14 - 10:51:36 | 404 | 3.11ms | 127.0.0.1 | PROPFIND "/dav/1"
WARN[2026-08-14 10:51:36] file size < 0, try to get full size from cache
ERRO[2026-08-14 10:51:36] failed put /crypt: Put "https://xxxxxxxxxx/api/fs/put": net/http: HTTP/1.x transport connection broken: http: ContentLength=47 with Body length 32
[GIN] 2026/08/14 - 10:51:36 | 405 | 167.79ms | 127.0.0.1 | PUT "/dav/1"
Configuration File Content (required)
{
"force": false,
"site_url": "",
"cdn": "",
"jwt_secret": "xxxxx",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "data/temp",
"bleve_dir": "data/bleve",
"dist_dir": "",
"log": {
"enable": false,
"name": "data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": false,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"auto_memory_limit": 4,
"min_free_memory": 0,
"max_block_limit": 0,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": false,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 0,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
""
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": true,
"listen": ":5222"
},
"mcp": {
"enable": false
},
"last_launched_version": "v4.2.5",
"proxy_address": ""
}
Reproduction Link (optional)
No response
AI Generated Content (optional)
是,使用了AI辅助整理日志和生成报告格式
Please confirm the following
I have read and agree to AGPL-3.0 Section 15 .
The program is provided "as is" without any warranties; you bear all risks of using it.
I have read and agree to AGPL-3.0 Section 16 .
The copyright holders and distributors are not liable for any damages resulting from the use or inability to use the program.
I confirm my description is clear, polite, helps developers quickly locate the issue, and complies with community rules.
I have read the OpenList documentation.
I confirm there are no duplicate issues or discussions.
I confirm this is an
OpenListissue, not caused by other reasons (such as network, dependencies, or operation).I believe this issue must be handled by
OpenListand not by a third party.I confirm this issue is not fixed in the latest version.
I have not read these checkboxes and therefore I just ticked them all, Please close this issue.
OpenList Version (required)
4.2.5
Storage Driver Used (required)
s3,openlist挂载,Crypt
Bug Description (required)
通过WebDAV执行PUT操作上传文件时持续失败,返回HTTP 405错误。根本原因是声明的Content-Length(47字节)与实际请求体长度(32字节)不一致,导致代理上传到后端存储时出错。
部署架构
本地设备(质感文件APP) → 本地OpenList(Crypt加密驱动,arm架构的openlist,在root安卓上的termux切换到su运行)
→ 腾讯轻量服务器(OpenList中转 + COS挂载)
→ 腾讯云对象存储(COS)
Logs (required)
ERRO[2026-08-14 10:51:36] PROPFIND /dav/1 object not found
[GIN] 2026/08/14 - 10:51:36 | 404 | 3.11ms | 127.0.0.1 | PROPFIND "/dav/1"
WARN[2026-08-14 10:51:36] file size < 0, try to get full size from cache
ERRO[2026-08-14 10:51:36] failed put /crypt: Put "https://xxxxxxxxxx/api/fs/put": net/http: HTTP/1.x transport connection broken: http: ContentLength=47 with Body length 32
[GIN] 2026/08/14 - 10:51:36 | 405 | 167.79ms | 127.0.0.1 | PUT "/dav/1"
Configuration File Content (required)
{
"force": false,
"site_url": "",
"cdn": "",
"jwt_secret": "xxxxx",
"token_expires_in": 48,
"database": {
"type": "sqlite3",
"host": "",
"port": 0,
"user": "",
"password": "",
"name": "",
"db_file": "data/data.db",
"table_prefix": "x_",
"ssl_mode": "",
"dsn": ""
},
"meilisearch": {
"host": "http://localhost:7700",
"api_key": "",
"index": "openlist"
},
"scheme": {
"address": "0.0.0.0",
"http_port": 5244,
"https_port": -1,
"force_https": false,
"cert_file": "",
"key_file": "",
"unix_file": "",
"unix_file_perm": "",
"enable_h2c": false,
"enable_h3": false
},
"temp_dir": "data/temp",
"bleve_dir": "data/bleve",
"dist_dir": "",
"log": {
"enable": false,
"name": "data/log/log.log",
"max_size": 50,
"max_backups": 30,
"max_age": 28,
"compress": false,
"filter": {
"enable": false,
"filters": [
{
"cidr": "",
"path": "/ping",
"method": ""
},
{
"cidr": "",
"path": "",
"method": "HEAD"
},
{
"cidr": "",
"path": "/dav/",
"method": "PROPFIND"
}
]
}
},
"delayed_start": 0,
"auto_memory_limit": 4,
"min_free_memory": 0,
"max_block_limit": 0,
"max_connections": 0,
"max_concurrency": 64,
"tls_insecure_skip_verify": false,
"tasks": {
"download": {
"workers": 5,
"max_retry": 1,
"task_persistant": false
},
"transfer": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"upload": {
"workers": 5,
"max_retry": 0,
"task_persistant": false
},
"copy": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"move": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"decompress_upload": {
"workers": 5,
"max_retry": 2,
"task_persistant": false
},
"allow_retry_canceled": false
},
"cors": {
"allow_origins": [
""
],
"allow_methods": [
""
],
"allow_headers": [
"*"
]
},
"s3": {
"enable": false,
"port": 5246,
"ssl": false
},
"ftp": {
"enable": false,
"listen": ":5221",
"find_pasv_port_attempts": 50,
"active_transfer_port_non_20": false,
"idle_timeout": 900,
"connection_timeout": 30,
"disable_active_mode": false,
"default_transfer_binary": false,
"enable_active_conn_ip_check": true,
"enable_pasv_conn_ip_check": true
},
"sftp": {
"enable": true,
"listen": ":5222"
},
"mcp": {
"enable": false
},
"last_launched_version": "v4.2.5",
"proxy_address": ""
}
Reproduction Link (optional)
No response
AI Generated Content (optional)
是,使用了AI辅助整理日志和生成报告格式