У меня вопрос о конфигурации нашего FTP-сервера. Итак, в настоящее время у нас есть 2 FTP-сервера с балансировкой нагрузки. Два сервера и балансировщик нагрузки доступны только во внутренней сети.
Теперь наша конфигурация FTP работает нормально. Я могу управлять нашими FTP-серверами через наш балансировщик нагрузки с WinSCP, FileZilla и т.д., но если я отправлю файл с помощью FTP-клиента .NET по умолчанию, у меня возникнут проблемы с подключением к порту данных.
Таким образом, проблема возникает, когда балансировщик нагрузки отправляет ответ PASV с IP-адресом и портом, на который клиент должен отправлять свои данные. Таким образом, вместо отправки IP-адреса балансировщика нагрузки отправляется IP-адрес реального сервера. Кажется, что FTP-клиент игнорирует IP-часть команды PASV и хочет подключиться к исходному IP-адресу, конечно, не удается, потому что на балансировщике нагрузки нет открытых портов.
Теперь реальный вопрос: противоречит ли спецификации FTP, что балансировщик нагрузки отправляет IP-адрес реального сервера вместо своего собственного IP-адреса?
WinSCP и FileZilla не заботятся об этом. Я также узнал, что мне пришлось отключить "setRemoteVerificationEnabled (false)" в Java commons-net lib, чтобы он работал на Java. Мы подключаемся к FTP-серверу с явным и неявным FTP.