commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Hoffer <dhoff...@gmail.com>
Subject Re: commons-net sending FTP not working on EC2 server
Date Fri, 12 Oct 2012 02:22:55 GMT
I just figured out what the problem was, on the EC2 server I can't use
active mode I suspect because it is sending its local IP address in
the PORT command.  I switched to using passive mode and its working
now.

-Dave

On Thu, Oct 11, 2012 at 7:44 PM, sebb <sebbaz@gmail.com> wrote:
> On 11 October 2012 13:40, David Hoffer <dhoffer6@gmail.com> wrote:
>> This is what I see from the listener.
>>
>> 220 Serv-U FTP Server v12.1 ready...
>> USER *******
>> 331 User name okay, need password.
>> PASS *******
>> 230 User logged in, proceed.
>> PORT 10,144,154,209,143,212
>>
>> What does that PORT line mean?  Is that the incoming ports that must
>> be open?  Why does it use so many ports?  Is that a fixed set or is
>> this configurable?
>
> This is just how FTP handles IP addresses and ports, search for
>
> "FTP PORT command"
>
>> -Dave
>>
>> On Thu, Oct 11, 2012 at 6:13 AM, David Hoffer <dhoffer6@gmail.com> wrote:
>>> Thanks for the reply and info.
>>>
>>> How do I set it in Active mode?  I don't see a method to do this.  I
>>> do see these:
>>>
>>> setActiveExternalIPAddress()
>>> setActivePortRange()
>>>
>>> But those seem to imply they are used if already in active mode...not
>>> clear how to do that.
>>>
>>> I have added the ProtocolCommandListener I'll see what it report.
>>>
>>> Does anyone know what ports must be open for this to work?
>>>
>>> -Dave
>>>
>>> On Thu, Oct 11, 2012 at 2:29 AM, sebb <sebbaz@gmail.com> wrote:
>>>> On 11 October 2012 04:27, David Hoffer <dhoffer6@gmail.com> wrote:
>>>>> I just moved an app over to an EC2 server and I'm having trouble
>>>>> sending data via FTP.  This has worked for years on a different Linux
>>>>> server, the new one is Linux too just on Amazon EC2.
>>>>>
>>>>> The code is really simple...basically...
>>>>>
>>>>> FTPClient ftp = new FTPClient();
>>>>> ftp.login(username, password);
>>>>> ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(fileBytes);
>>>>> OutputStream os = ftp.storeFileStream(fileName);
>>>>>
>>>>> byte buf[] = new byte[8192];
>>>>> int bytesRead = byteArrayInputStream.read(buf);
>>>>> while (bytesRead != -1) {
>>>>>        os.write(buf, 0, bytesRead);
>>>>>        bytesRead = byteArrayInputStream.read(buf);
>>>>> }
>>>>> byteArrayInputStream.close();
>>>>> os.close();
>>>>> ftp.completePendingCommand();
>>>>> ftp.logout();
>>>>>
>>>>> when I debug it...it blocks forever at the call to storeFileStream().
>>>>> When it runs while not debugging I get a SocketException (Connection
>>>>> time out)...not sure if at same line or another such as os.write()..
>>>>>
>>>>> I was using version 3.0.1, I just upgraded to 3.1 to see if that would
>>>>> help but it has the same problem.  The only difference I can think of
>>>>> is that the old server was using Java 6 the new one is Java 7.  One
>>>>> other thing that is different is that the EC2 has most ports blocked,
>>>>> I've opened port 21 and UDP/DNS.  Is there any other ports that are
>>>>> needed for FTP?
>>>>>
>>>>> What might be causing this?  I'm completely stuck not knowing where to
>>>>> look at this point.
>>>>
>>>> Most likely there is a port that is not open.
>>>>
>>>> Try using active FTP mode; that may work better, or may cause issues
>>>> if there is a dumb NAT box in the way.
>>>>
>>>> Try adding a protocol command listener:
>>>>
>>>> ftp.addProtocolCommandListener(new PrintCommandListener(new
>>>> PrintWriter(System.out), true));
>>>>
>>>>> -Dave
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>>>>> For additional commands, e-mail: user-help@commons.apache.org
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>>>> For additional commands, e-mail: user-help@commons.apache.org
>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
>> For additional commands, e-mail: user-help@commons.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message