我在Amazon EC2实例上托管了一个网站。从这个网站(页面)我试图将文件上传到FTP服务器(不托管亚马逊)。每次我收到客户端连接被remotehost强行关闭的错误消息。
相同的代码在我的本地和我的办公室网络中很少有其他本地机器正常工作。
此代码无法在Amazon / Azure服务器上运行。
我已打开入站/出站端口的所有端口和流量
有人可以帮助我理解这个问题。
我的服务器是windows 2012 r2服务器。
所有流量都打开进/出。 site是在asp.net中开发的,具有无限的ftp web控制。
ftp服务器支持主动模式,可以在我的网络中的本地计算机和其他一些计算机上运行。
谢谢, Devang
答案 0 :(得分:1)
确认您可以在不使用代码的情况下通过FTP连接EC2实例。如果您可以通过命令行或FTP应用程序进行连接,那么您知道这是您的代码的问题(而不是其他一些IP阻塞问题)。
答案 1 :(得分:0)
我能够在主动传输模式下使用filezilla连接到该服务器。我在代码中也设置了相同但无法上传文件。
请找到以下代码。
//将处理程序注册到CommandResponse事件。 myclient.CommandResponse + = client_CommandResponse;
// Connect to the server.
myclient.Passive = false;
myclient.Connect(host, port);
myclient.KeepAliveDuringTransferInterval = 5000;
myclient.Timeout = 200000;
// Authenticate.
myclient.Authenticate(username, password);
// Upload the file.
myclient.UploadFile(serverFilePath, ComponentPro.IO.FileSystemPath.Combine(rootfolder, fileUpload.FileName));
// Disconnect when finish.
myclient.Disconnect();
lblResult.Text = _sb.ToString();
感谢您的帮助。