频繁报FTPResponse 421 received.Server closed connection

当在使用 FTP 连接时收到 FTP response 421 received 错误消息时,通常表示服务器关闭了连接。这可能是由于多种原因引起的,例如服务器连接数达到上限或网络问题。

常见原因及解决方法

1. 服务器连接数达到上限

当 FTP 服务器的连接数达到上限时,会返回 421 错误。此时可以尝试减少并发连接数或联系服务器管理员增加连接数限制。

可以查看vsftp.log得到:too many sessions for this address来证实就是连接数满造成。

解决方法: 增加服务器允许的最大连接数,或者减少客户端的并发连接数。

在 vsftpd.conf 中设置最大连接数

max_clients=50

2. 网络问题

网络不稳定或防火墙设置可能导致连接中断。确保网络连接稳定,并检查防火墙设置是否允许 FTP 流量。

3. 被动模式设置

在某些情况下,未正确设置被动模式可能导致连接问题。确保在代码中设置被动模式。

ftpClient.enterLocalPassiveMode();

示例

FTPClient ftpClient = new FTPClient();

try {

ftpClient.connect("192.168.10.131", 21);

ftpClient.login("user", "password");

// 设置被动模式

ftpClient.enterLocalPassiveMode();

// 执行文件操作

} catch (IOException e) {

e.printStackTrace();

} finally {

try {

ftpClient.logout();

ftpClient.disconnect();

} catch (IOException ex) {

ex.printStackTrace();

}

}

或在服务器上查看:

在某些情况下,切换到被动模式可以解决这个问题

示例:

ftp> passive

Passive mode on

4. 用户权限问题

确保 FTP 用户具有访问宿主目录的权限。如果权限不足,可能会导致连接被拒绝。

5.检查FTP服务器的连接超时设置

如果连接超时时间设置过短,可能会导致连接被服务器主动关闭。可以尝试增加连接超时时间,以避免连接被过早关闭。

6.检查磁盘空间

检查FTP服务器的磁盘空间是否足够。可以使用以下命令查看磁盘空间:

复制代码
df -h
相关推荐
悟道子HD8 天前
计算机网络端口记忆指南
计算机网络·http·https·ssh·ftp·端口号·smtp
sg_knight12 天前
MinIO 进阶:文件下载、批量获取与打包压缩全攻略
文件管理·minio·ftp·cos·oss·文件服务器
sg_knight20 天前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输
Yiyi_Coding23 天前
bat 脚本(真实项目可用):ftp取远程文件
运维·脚本·ftp
sg_knight1 个月前
Docker环境下的MinIO安装,以及如何正确配置数据持久化(避坑篇)
运维·docker·容器·minio·ftp·cos·oss
sg_knight1 个月前
MinIO自带的Web Console管理后台怎么用?日常管理操作全解
前端·文件管理·minio·ftp·cos·oss
sg_knight1 个月前
CentOS 裸机实操:5分钟完成 MinIO 单机部署与公网访问
linux·python·centos·文件管理·minio·ftp·oss
QQ14220784492 个月前
FTP下载失败:Sorry, insufficient credit for download - upload first.
ftp·服务器运维
grrrr_12 个月前
【Linux】内网穿透 FTP 终极复现手册 (2026 版)--cpolar
linux·网络·内网穿透·ftp·cpolar
REDcker2 个月前
FTP协议原理及应用精解
linux·后端·计算机网络·互联网·ftp·服务端开发