宝塔上传卡0%主要因防篡改插件拦截、Nginx/Apache上传限制、服务器带宽或负载过高、浏览器/代理干扰所致;需逐项排查并单独验证。

上传卡在0%时先确认是不是宝塔自带的防篡改插件在拦截
宝塔面板默认启用「防篡改」插件后,会拦截对网站目录(如 /www/wwwroot/)的写入操作,包括文件上传。此时浏览器控制台通常看不到明显报错,但上传进度条永远停在0%,且 nginx 或 apache 的错误日志里也查不到对应记录。
实操建议:
- 登录宝塔后台 → 左侧菜单点「安全」→ 找到「防篡改」插件 → 点击「停止」或「卸载」(临时排查用,确认问题后再按需重开)
- 如果必须开启防篡改,需手动将目标网站目录加入白名单:点击「设置」→「添加受保护目录」旁的「+」→ 填入具体路径(如
/www/wwwroot/example.com),并勾选「允许写入」 - 修改后务必点击右上角「重载配置」,否则不生效
检查 Nginx/Apache 是否限制了客户端上传大小
即使前端显示上传中,后端 Web 服务可能直接拒绝大文件,导致连接被静默中断,表现就是卡0%。常见于未调整 client_max_body_size(Nginx)或 LimitRequestBody(Apache)。
实操建议:
- Nginx 用户:编辑网站配置 → 找到
server块 → 确认存在且值足够大的client_max_body_size 100m;(根据需要改成500m或0表示不限制) - Apache 用户:进入网站根目录的
.htaccess或主配置 → 添加LimitRequestBody 524288000(单位字节,即500MB) - 改完必须重启对应服务:
service nginx restart或service httpd restart - 注意:PHP 的
upload_max_filesize和post_max_size也要同步调大,否则仍会失败
带宽打满或服务器负载过高导致上传阻塞
不是所有“卡0%”都和配置有关。当服务器出口带宽跑满(比如其他进程在下载、备份、攻击流量),或 CPU/IO 持续100%,宝塔的上传接口(/api/panel/upload)可能无法及时响应,前端就一直等待初始响应包。
实操建议:
- 用
iftop -P 8888(宝塔默认端口)看实时流量,确认是否有异常连接占满带宽 - 运行
top或htop查 CPU 和%wa(IO等待),若%wa长期高于30%,说明磁盘慢或有大量读写竞争 - 临时关闭非必要任务:如正在运行的备份脚本、日志切割、监控采集等
- 小文件上传正常但大文件卡住,大概率是带宽瓶颈;所有文件都卡,优先查负载和防篡改
浏览器或代理层干扰上传请求
某些企业网络、学校WiFi、或本地开了代理(如 Charles/Fiddler),会截断 multipart/form-data 类型的长请求,尤其在上传开始阶段就丢包,导致宝塔前端收不到任何返回,只能显示0%。
实操建议:
- 换 Chrome 无痕窗口(禁用所有插件)重试;或用手机热点直连服务器测试
- 检查浏览器开发者工具(F12)→ Network 标签页 → 找
upload请求 → 看状态码是否为(failed)或pending,如果是,基本可判定是网络层问题 - 若使用了 CDN(如 Cloudflare),临时切换为 DNS only 模式,排除 CDN 对 POST 请求的拦截或超时限制
宝塔上传卡0%的问题,真正难定位的往往不是配置写错,而是多个限制叠加:比如防篡改开着 + Nginx 上传限制没调 + 后台正跑着 rsync 同步。每次只改一个点,再验证,不然容易来回折腾。










