IIS FTP服务器停止接受连接,返回“421 Service not avaialble,远程服务器已关闭连接”。重新启动实例后出现错误消息。该问题似乎不是防火墙问题。
我在运行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 myact@xx.xx.xx.xx
Connected to xx.xx.xx.xx
421 Service not available, remote server has closed connection.
但SFTP的工作原理:
$sftp myact@xx.xx.xx.xx
myact@xx.xx.xx.xx's password: ****
Connected to xx.xx.xx.xx
我对IIS不太熟悉,它似乎正在运行,但我不明白为什么FTP在实例重启后停止工作。请注意,EC2实例使用的是弹性IP,因此它与问题开始之前的公共IP地址相同。
答案 0 :(得分:0)
抱歉,问题原来是IIS FTP站点站点绑定中的设置不正确。 EC2实例有2个IP地址,一个私有,一个公共。似乎FTP服务器设置了EC2实例专用IP地址,并且当实例重新启动时,它获得了不同的专用IP,但是使用弹性IP功能重新分配了相同的公共IP。生活和学习。
答案 1 :(得分:0)
我会在这里发帖,因为这对我来说也是一个很头疼的问题。我不得不将svchost.exe添加到Windows防火墙,一切正常。