FTP-сервер IIS перестал принимать соединения, вернув сообщение «Служба 421 недоступна, удаленный сервер закрыл соединение». сообщение об ошибке после перезагрузки экземпляра. Проблема не связана с брандмауэром.
Я настроил FTP-сервер IIS на экземпляре EC2 под управлением Windows Server 2012 R2, IIS версии 8.5. Моему клиенту просто нужен был простой FTP. (Я ранее настраивал SFTP-сервер на том же экземпляре, используя Cygwin sshd, который работает нормально.) Я установил FTP-сервер IIS «по умолчанию», и он работал нормально в течение 2 дней, пока во время передачи файла он висел. Согласно данным монитора AWS, ЦП был настроен на 100%. Мне не удалось подключиться к экземпляру по протоколу RDP, поэтому пришлось его перезагрузить. С тех пор я не мог подключиться к FTP-серверу IIS. Состояние процесса ftpsvc, согласно диспетчеру задач, выполняется. Я останавливал и запускал несколько раз. Брандмауэр Windows отключен, в брандмауэре AWS открыты порты 20, 21 и 50 000–51 000. Никакие настройки не менялись с тех пор, как он перестал работать.
Из локальной командной строки на экземпляре сервера FTP не работает:
> ftp localhost
Connected to MYINSTANCE
Connection closed by remote host.
С удаленной машины FTP не работает:
$ 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-адресе, что и до проблемной перезагрузки.
Любые советы или предложения были бы очень признательны! Если я не могу решить проблему, я планирую запустить еще один экземпляр EC2 и настроить новый сервер с нуля.
Спасибо за ваше предложение Mass Nerder.
FTP-сервер выполняет запись в inetpub / logs / LogFiles / FTPSVC2, и самая новая запись была сделана 5 дней назад, от 16.10.2014, и она не содержала ничего похожего на ошибку. Журнал событий IIS был пуст. Я заметил некоторые периодические ошибки sshd в журнале событий локального сервера, но никаких подробностей. Даже после того, как я выключил sshd, служба FTP по-прежнему не подключается.
netstat -anb показывает ftpsvc, прослушивающий порт 21:
Proto Local Address Foreign Address State
TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
ftpsvc
Я создал пару тестовых пользователей FTP, но все равно получаю ту же ошибку при попытке подключения.
Я собираюсь попробовать «чистый» тестовый экземпляр WinServer 2012 и посмотреть, смогу ли я заставить работать FTP.
К сожалению, проблема оказалась в неправильной настройке привязки сайта FTP-сайта IIS. Экземпляры EC2 имеют 2 IP-адреса, один частный и один общедоступный. Похоже, что FTP-сервер был настроен с частным IP-адресом экземпляра EC2, и когда экземпляр перезагружался, он получил другой частный IP-адрес, но был переназначен тот же общедоступный IP-адрес с помощью функции эластичного IP. Живи и учись.
Согласно Microsoft ошибка 421 означает
«421 Служба недоступна, закрытие контрольного соединения. Это может быть ответ на любую команду, если служба знает, что она должна отключиться».
https://support.microsoft.com/kb/969061
Вы проверили журнал событий, чтобы узнать, нет ли связанных с этим ошибок?
делает netstat -anb
показать, что служба запущена и указывает правильные порты?
Вы пробовали с другим пользователем?