现在的位置: 首页产品技术>正文
IE不能访问FTP的解决办法
2009年05月06日 产品技术 暂无评论

上次,开发部就遇到IE不访问FTP,FTP工具可以的怪问题,当时我还没有注意,结果今天我也遇到了。

访问返回信息如下:

请检查是否有权限访问该文件夹。
无法与服务器建立连接

从网上查找以及测试终于找到解决办法,整理如下:

      1 打开IE的菜单"工具"->"Internet 选项";
      2 点击“高级”标签卡;
      3 将“浏览”节点下的“使用被动FTP(为防火墙和DSL调制解调器兼容性)”前面的勾去掉。
其实ftp客户端工具也有此问题,只是有的工具默认配置不是使用被动FTP,下面是ftp客户端工具遇到此问题解决办法。

CuteFTP:
Edit -> Setting -> Connection -> Firewall -> PASV Mode

File -> Site Manager,在左边选中站点 -> Edit -> Use PASV mode

FlashGet:
工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> PASV模式

FlashFXP:
选项 -> 参数选择 -> 代理/防火墙/标识 -> 使用被动模式

站点管理 -> 对应站点 -> 选项 -> 使用被动模式

快速连接 -> 切换 -> 使用被动模式

LeapFTP:
Options -> Preferences -> General -> Proxy -> Use PASV mode

那么,为什么不能用IE访问我们的FTP,这是一个关于ftp的port和pasv模式问题,那么到底两者是什么,又有何区别?

防火墙有很多种,其中有一些会禁止那些不是从内部网络IP发出的连接请求。
而ftp协议是个很老的东东,没有考虑这个问题。可以这样简单描述一般ftp的工作原理:client对server发出请求:“嗨,我的xx端口正等着你传送数据呢,sever听到这个请求,就会建立一个连接,指向这个端口,并且开始传送数据。这就回到了我们的问题,如果发出请求的client在防火墙的后面,而这个防火墙禁止外部IP建立连接,那么当然server(在外部)不能建立与client的连接。所以,过了几年,人们修改了ftp协议以应付这种情况。这就是passive mode,工作原理如下:client向server发出passive命令,server回答说:“数据在xx端口等你,自己来拿。” 而这回则由client建立指向server的连接,从而取得数据。这就避免了防火墙的限制。

 
两者的区别是PORT方式比PASV方式安全,为什么呢?
FTP传输过程中要求建立一个专门的连接来传输数据,建立连接有两个方法:一个就是FTP Server打开一个端口,Client可以去连接这个端口来建立连接。这就是PASV方式。一个就是FTP Client打开一个端口,Server去连接这个端口来建立连接。这就是PORT方式。显然,如果服务器打开了一个端口,就意味着向互联网打开了一个端口。所以PORT方式比PASV方式安全。

原创文章,转载请注明: 转载自读思客

本文链接地址: IE不能访问FTP的解决办法

给我留言

留言无头像?


×
腾讯微博