我有一个问题,只有当我从IIS运行我的应用程序时才会发生。
我正在尝试从我的ASP.NET应用程序到外部站点的FTP。
一般情况下,我可以从服务器使用FTP,但不能从应用程序使用FTP。我的请求超时。
我的网站的所有者现在被设置为拥有完全控制权限的IIS_IUSRS用户。
有人知道是什么让我无法成功吗?
任何帮助都会得到极大的重视。
我的最后期限是12个小时内,我是王室操蛋...
发布于 2009-05-31 22:01:06
快速解决方法可能是将IIS使用的匿名用户设置为您的用户帐户,而不是IUSR帐户(在IIS中)。这看起来确实是一个权限问题。
第二个更好的办法是使用像Wiresharck/Etherreal这样的工具,检查是否建立了到FTP站点的连接,并从那里进行调试。
发布于 2009-05-31 22:12:56
我找到了解决方案
Windows防火墙和不安全的FTP流量
Windows防火墙可以从命令行使用netsh命令进行配置。设置Windows防火墙以允许不安全的FTP通信只需2个简单的步骤
1)在防火墙上打开21端口
netsh advfirewall firewall add rule name="FTP (no SSL)“action=allow protocol=TCP dir=in localport=21 (netsh advfirewall防火墙添加规则”FTP(No SSL)“)
2)激活用于FTP的防火墙应用程序筛选器(也称为有状态FTP),它将动态打开用于数据连接的端口
netsh advfirewall设置全局StatefulFtp启用
我真的不知道这是怎么回事,但它确实起到了作用
发布于 2011-12-16 17:38:40
解决UsePassive的相同问题。也许你可以在防火墙上为FTP添加允许端口20,21 (对我来说不是必须的)。
FtpWebRequest reqFTP;
reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp://ftp.example.com/"));
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential("user", "password");
reqFTP.Proxy = null;
reqFTP.KeepAlive = false;
reqFTP.UsePassive = true;https://stackoverflow.com/questions/932939
复制相似问题