大家好,我是熊哥,最近熊哥备份AIHubPro网站时,又踩了一次宝塔FTP的经典坑:HTTP下载反复中断,转FTP连接不上,报“服务器回应不可路由的地址”或目录为空。排查过程和熊哥视频高度一致,这里完整复盘+解决方案,分享给同样用宝塔面板 + 阿里云/腾讯云的同学。
问题复现
- 网站文件+数据库备份压缩包几GB,宝塔一键下载2-3次就断
- 新建FTP账号后,FileZilla/FileZilla Pro 等工具连不上(超时/拒绝)
- 只放行21端口后,切换主动模式能连但看不到目录,被动模式直接失败
根本原因
宝塔FTP默认使用被动模式(PASV),控制连接走21端口,数据传输走被动端口范围(默认39000-40000)。 很多同学只在安全组放了21,忽略了被动端口,导致数据通道不通,连接看似成功但实际无法传输文件。
推荐解决流程(一步到位)
- 宝塔面板端口放行 左侧菜单 → 安全 → 端口放行 添加/确认:
- 21(FTP控制端口)
- 39000-40000(被动数据端口范围,可在FTP设置中查看/修改)
- 云服务器安全组配置(阿里云/腾讯云通用) 控制台 → 实例 → 安全组 → 添加入站规则:
- 协议:TCP
- 端口范围:21 和 39000-40000(或写39000/40000)
- 授权对象:0.0.0.0/0(或指定IP) 保存后等待1-2分钟生效(有时需重启vsftpd服务:systemctl restart vsftpd)
- FTP客户端正确设置 FileZilla:站点管理器 → 传输设置 → 选择主动模式(Active)(被动模式需端口全开才稳定) 连接参数:主机=服务器公网IP,端口=21,用户名/密码=宝塔新建的FTP账号 连接成功后即可看到完整目录,高速下载备份包
额外Tips & 避坑
- 大文件下载建议用主动模式 + 多线程工具(如FlashFXP)
- 备份前暂停网站(防止文件锁)
- 如果还是不行,检查:
- 宝塔防火墙是否放行被动端口
- 是否有其他安全软件拦截
- vsftpd配置文件(/etc/vsftpd/vsftpd.conf)中pasv_min_port/pasv_max_port是否匹配
一句话总结:宝塔FTP连不上/传输失败的核心是被动端口39000-40000没放行,21只是敲门砖,数据通道才是关键。按以上步骤操作,基本一次解决。
有类似坑的同学,欢迎评论贴报错日志或云厂商截图,一起交流~谁用谁知道,省时省心!