FTP错误(503个错误的命令序列)是客户端问题还是服务器问题导致的

FTP错误(503个错误的命令序列)是客户端问题还是服务器问题导致的,ftp,filezilla,ftp-server,Ftp,Filezilla,Ftp Server,我有一个FTP服务器在AWS虚拟服务器上运行。我们有大约100名用户在一天内连接到它,上传图像和其他文件。除了一个以外,其他的都工作得很好。文件进来了,没问题 我们有一个单一用户,导致生成以下日志行-故意删除用户名和IP,并添加“***”以突出显示错误行: > 227 Entering Passive Mode (54,79,122,6,195,96) > STOR media/UV1358A_3.jpg > 150 Opening data channel for file

我有一个FTP服务器在AWS虚拟服务器上运行。我们有大约100名用户在一天内连接到它,上传图像和其他文件。除了一个以外,其他的都工作得很好。文件进来了,没问题

我们有一个单一用户,导致生成以下日志行-故意删除用户名和IP,并添加“***”以突出显示错误行:

> 227 Entering Passive Mode (54,79,122,6,195,96)
> STOR media/UV1358A_3.jpg
> 150 Opening data channel for file upload to server of "/media/UV1358A_3.jpg"
> 226 Successfully transferred "/media/UV1358A_3.jpg"
> PASV
> 227 Entering Passive Mode (54,79,122,6,195,141)
> STOR media/UV1358A_4.jpg
> 150 Opening data channel for file upload to server of "/media/UV1358A_4.jpg"
> PASV
> 227 Entering Passive Mode (54,79,122,6,195,136)
> 226 Successfully transferred ""
> STOR media/UV1358A_5.jpg
***********************************************
> 503 Bad sequence of commands.
***********************************************
> PASV
> 227 Entering Passive Mode (54,79,122,6,195,80)
> PORT 122,99,115,5,212,227
> 200 Port command successful
> PORT 122,99,115,5,226,227
> 200 Port command successful
> PORT 122,99,115,5,130,124
> 200 Port command successful
> STOR media/UV1358A_9.jpg
> 150 Opening data channel for file upload to server of "/media/UV1358A_9.jpg"
> PORT 122,99,115,5,152,62
> 200 Port command successful
> STOR media/UV1358A_10.jpg
> 150 Opening data channel for file upload to server of "/media/UV1358A_10.jpg"
> PORT 122,99,115,5,161,49
> 200 Port command successful
我们正在Windows 2012机箱上使用FileZilla服务器0.9.55

如标题所述,我的问题本质上是。。这是我们在服务器端的问题,还是他们的问题? 这503错误总是由FTP客户端出错引起的,还是FTP服务器有可能错误地解释了某些内容

我很高兴回到客户那里说“这是我们的问题”,但我怀疑这不是我们的问题


感谢

客户端发送
PASV
命令以启动另一个文件传输,然后等待上一次传输(
STOR
命令)完成(
226
响应):


第一次传输开始:

> PASV
< 227 Entering Passive Mode (54,79,122,6,195,141)
> STOR media/UV1358A_4.jpg
< 150 Opening data channel for file upload to server of "/media/UV1358A_4.jpg"
第一次换乘现在才结束。消息中的文件名丢失,因为FileZilla服务器在处理无序的
PASV
命令时重置文件传输数据(包括文件名)(实际上,它最好已经用
503
拒绝
PASV
命令)

请求另一次转移的请求。它失败是因为FileZilla服务器在完成第一次文件传输时忘记了无序的
PASV
命令

> STOR media/UV1358A_5.jpg
< 503 Bad sequence of commands.
>存储媒体/UV1358A_5.jpg
<503错误的命令序列。

感谢Martin的详细回复。客户说他们正在使用PHP内置的FTP库。我想说的是,他们只是使用一个单线程循环来处理要上传的文件。他们已经说过,他们可以顺利地将文件上传到数百个其他客户的ftp服务器上,而我们是唯一麻烦的客户,因此他们不会在最后进行任何调试来尝试解决问题。如果您使用非阻塞API(),PHP ftp库将不会保护您不以所述方式违反协议。我能够很容易地复制这个。使用多线程代码可能也会重现这种情况,尽管我没有尝试过。您在地理位置上不是离客户很近吗?这可能会导致其他服务器的差异。如果延迟很低,出现这种竞争状况的可能性就会增加。马丁,我不知道他们的服务器和我们的服务器在哪里。我们在AWS,由其他人照看,所以我不确定实际位置,但真的“不应该”重要吗?无论哪种方式,我都认为连接到服务器的ftp客户端(或站点代码)有责任以正确的顺序发送各种命令,这与框架无关。这就是我最初的问题的真正意思。:-)当然,没关系。我只是想建议,可能的客户端错误怎么可能只在您的服务器上出现。
> 226 Successfully transferred ""
> STOR media/UV1358A_5.jpg
< 503 Bad sequence of commands.