从Azure到另一个FTP站点的FTP问题



我试过在Azure网站上使用FtpWebRequest和EnterpriseDT.Net.Ftp,我想从FileUpload传递一个字节数组到另一个FTP站点。

这可以在本地服务器上工作,因此可以在VM上工作,但无法在Azure网站上工作。不可否认,我们正在努力避免添加虚拟机或额外的Azure存储帐户的成本。

这个端口似乎在Azure上被阻塞了,但在本地服务器上是开放的。

[IOException: Failed to connect to XXX.XXX.XXX.XXX:21 within timeout 120000 ms] EnterpriseDT.Net.StandardSocket.InternalConnect(EndPoint remoteEP, Int32 timeout) +272 EnterpriseDT.Net.StandardSocket.Connect(EndPoint remoteEP, Int32 timeout) +350 EnterpriseDT.Net.Ftp.FTPControlSocket.ConnectSocket(BaseSocket socket, String address, Int32 port) +66 EnterpriseDT.Net.Ftp.FTPControlSocket.Initialize(BaseSocket sock, String remoteHost, Int32 controlPort, Int32 timeout, Encoding encoding) +57 EnterpriseDT.Net.Ftp.FTPClient.Connect(String remoteHost, Int32 controlPort, Int32 timeout) +407 EnterpriseDT.Net.Ftp.FTPClient.Connect() +43 EnterpriseDT.Net.Ftp.FTPConnection.Connect() +456 XXXXX.XXXXX.XXX.XXXXX.FtpUpload(String Id, FileUpload file, String ftpServer, String ftpUsername, String ftpPass, String domainName) +371

有人知道这是如何通过。net FtpWebRequest或第三方库来完成的吗?

FTP端口(21)直接被阻止用于Azure网站,如果您使用:ftp://{sitename}.azurewebsites.net,要获得该网站的正确FTP配置文件,您需要下载它的发布设置,在那里您将找到地址,用户名和密码。

获取发布配置文件的信息在这里:http://blogs.msdn.com/b/avkashchauhan/archive/2012/06/26/deploying-windows-azure-website-using-visual-studio-web-publish-wizard.aspx

我还建议您使用配置管理站点(https://{sitename}.scm.azurewebsites.net)的VFS端点来上传文件,这样您就可以使用更可靠的https协议。

VFS api:https://github.com/projectkudu/kudu/wiki/REST-API vfs

更多关于你的供应链网站:http://blogs.msdn.com/b/windowsazure/archive/2014/03/04/windows-azure-websites-online-tools-you-should-know-about.aspx

最新更新