Похоже, что вы обращаетесь к FTP-серверу на виртуальной машине Azure с помощью проводника Windows в режиме Passive
, который требует, чтобы FTP-сервер снова открыл другой порт для подключения на стороне клиента после первого подключения клиентского сервера к порту 21
, но только через FTPсервер не имеет разрешения на добавление нового порта в правила входящих вызовов NSG.
Таким образом, решение состоит в том, чтобы отключить пассивный режим на стороне клиента, чтобы принудительно использовать режим PORT/Active
для подключения к FTP-серверу.Вы можете обратиться к существующему потоку SuperUser https://superuser.com/questions/249731/ftp-from-windows-explorer-in-active-mode, чтобы исправить это.
Вот мои шаги в Windows 10, как показано на рисунках ниже.
Рис 1. Нажмите Search
нажмите кнопку и введите Internet Options
, чтобы открыть ее
Рис. 2. Выберите вкладку Advanced
и найдите параметр Use Passive FTP ...
, чтобы отключить ее
Затем вы можете попытаться снова получить доступ к вашему FTP-серверу.
Если есть какие-либо вопросы, пожалуйста, дайте мне знать.
Обновление: для использования FtpWebRequest
для подключения FTP-сервера на виртуальной машине Azure в режиме PORT/Active
необходимо добавить код для отключения режима Passive
для FtpWebRequest
в C #, прежде чем использовать его, как показано ниже.
ftpWebRequest.UsePassive = false;
Пожалуйста, обратитесь к документу https://docs.microsoft.com/en-us/dotnet/api/system.net.ftpwebrequest.usepassive?view=netframework-4.7.2, чтобы узнать его.