电脑软硬件应用网
当前位置: 电脑软硬件应用网 > 电脑学院 > 服务器技术 > 正文
[组图]一例IE访问IIS FTP超时故障的分析
一例IE访问IIS FTP超时故障的分析
2007-9-28 11:26:09  文/ifly   出处:想飞 iflycn   
  今天在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服务器,这一点非常关键,如果设置错了,那么客户将无法连接。

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

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

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

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

  对于客户机,指定IE只使用PORT模式也可以解决问题。见图2,IE工具菜单->
Internet选项->高级->去掉“使用被动FTP”前面的勾即可。
 

  图1、Windows防火墙添加程序例外
 
 

  图2、IE设置不使用PASV模式
  • 上一篇文章:

  • 下一篇文章:
  • 最新热点 最新推荐 相关文章
    IIS浏览就提示无法显示网页求解决
    IIS出现RPC服务器不可用的解决方法
    WINDOWS 2003 IIS启动失败的原因
    ASP错误信息解决:IIS启用父路径的设…
    windows 2000服务器IIS开启父路径的…
    如何一步一步的优化你的IIS服务器
    Windows 7下如何安装SQL Server 200…
    WIN2003 IIS 500内部服务器错误(典…
    IIS 301重定向到www开头的域名
    讲解IIS网站服务器性能优化秘籍十三…
    关于45IT | About 45IT | 联系方式 | 版权声明 | 网站导航 |

    Copyright © 2003-2011 45IT. All Rights Reserved 浙ICP备09049068号