登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

iFLY IMAGE

用心记录生活之美

 
 
 
 
 

日志

 
 

一例IE访问IIS FTP超时故障的分析  

2010-12-02 14:44:27|  分类: 网络技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
2007-09-27 15:20:18
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
 
今天在Windows 2003 Server上安装IIS的FTP,服务器开了Windows防火墙,添加了例外:允许外界连接21端口。一切设置完毕,使用IE连接却始终无法打开,状态栏显示“正在获取文件夹的内容”,最后提示“操作超时”。

在命令提示符下登陆一切正常,可以dir目录内容,get文件等。

重新调整了FTP设置、用户权限、NTFS权限,问题依旧。

用Cuteftp软件连接,发现了问题所在,使用PASV模式无法传输数据改用PORT模式一切正常。

上网查询了关于FTP两种连接模式的资料:

FTP的连接模式有两种,PORT和PASV。PORT模式是一个主动模式,PASV是被动模式,这里都是相对于服务器而言的。

PORT模式建立数据传输通道是由服务器端发起的,服务器使用20端口连接客户端的某一个大于1024的端口;
在PASV模式中,数据传输通道的建立是由FTP客户端发起的,他使用一个大于1024的端口连接服务器的1024以上的某一个端口。

如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,比如使用微软的ISA Server 2000发布一个FTP服务器,这一点非常关键,如果设置错了,那么客户将无法连接。

[参考]
[url]http://www.microsoft.com/china/community/Column/70.mspx[/url]

至此清楚了故障的原因:服务器打开了Windows防火墙,ifly通过添加端口允许外界访问服务器的21端口,因此FTP的控制信息可以正常传输。使用CMD登陆时,由于采用的是PORT模式,服务器使用20端口向客户端发起连接,这个outbound过程会被Windows防火墙放行,因此可以建立数据通道。而使用IE登陆时,默认采用的是PASV模式,客户端试图连接服务器1024以上的某个端口,这个对于服务器的inbound过程被防火墙过滤掉了,因此无法建立数据通道,出现超时错误。

解决这个问题可以从服务器或客户端两方面着手:

对于服务器可以打开需要的端口,但PASV模式连接的端口号不定,不能通过“添加端口”的方式,可以照(图1)那样通过“添加程序”的方式在防火墙上打洞。

对于客户机,指定IE只使用PORT模式也可以解决问题。见图2,IE工具菜单->
Internet选项->高级->去掉“使用被动FTP”前面的勾即可。
 
 
 
本文出自 “想飞 iflycn” 博客,转载请与作者联系!



引文来源  一例IE访问IIS FTP超时故障的分析 - 想飞 iflycn - 51CTO技术博客
  评论这张
 
阅读(1357)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018