2014-10-17 106 views
0

IIS FTP服务器停止接受连接,返回“421服务不可用,远程服务器已关闭连接”。实例重新启动后的错误消息。该问题似乎不是防火墙问题。IIS FTP无法连接,421服务不可用错误

我在运行Windows Server 2012 R2的EC2实例上设置了IIS FTP服务器。非常基本,我的老板只是想要简单的FTP。我以前使用Cygwin sshd在同一个实例上设置了SFTP服务器,该服务器工作得很好。我设置了“默认的”IIS FTP服务器,并且它在几天内工作正常,直到文件传输期间它挂起。据AWS监测显示,CPU与100%挂钩。我无法将RDP加入实例,因此我不得不重新启动它。从那以后,我无法连接到IIS FTP服务器。根据任务管理器,“ftpsvc”进程状态正在运行。我已经停下来好几次了。 Windows防火墙已关闭,AWS防火墙已打开端口20,21和50,000-51,000。没有设置,我知道,自从停止工作后已经改变。

从本地命令提示符:

> ftp localhost 
Connected to MYINSTANCE 
Connection closed by remote host. 

从远程命令提示符:

$ ftp [email protected] 
Connected to xx.xx.xx.xx 
421 Service not available, remote server has closed connection. 

但SFTP工作:

$sftp [email protected] 
[email protected]'s password: **** 
Connected to xx.xx.xx.xx 

我不是很熟悉IIS和它似乎正在运行,但我不明白为什么在实例重新启动后FTP停止工作。请注意,EC2实例正在使用弹性IP,因此它与问题启动之前的公共IP地址相同。

回答

0

对不起,问题原来是IIS FTP站点站点绑定中的错误设置。 EC2实例有2个IP地址,一个私有地址和一个公共地址。似乎FTP服务器设置了EC2实例专用IP地址,并且实例重新启动时,它获得了不同的私有IP,但使用Elastic IP功能重新分配了相同的公共IP。活到老,学到老。

+0

这是否意味着一个不能设置'127.0.0.1' 或'localhost”的如FTP站点站点绑定? – user3156459 2016-04-06 10:38:33

+0

我认为localhost在机器外面是不可见的,所以我不明白为什么你会设置FTP站点绑定到那个。我只是运行ftp localhost命令来测试服务器。但我从来没有试图设置网站绑定,通常你想使用公共IP地址。 – J21042 2016-04-07 17:44:00

+0

在我的EC2 win server 2012的'Binding and SSL'部分中,'All Unassigned'没有工作,但是私有(不是弹性IP)工作。所以,我想,每次重新启动实例时,我都需要重置私有IP。 – user3156459 2016-04-09 11:06:47