FTP软件登录主机时,无法打开数据连接

By seabase

通过FTP软件登录主机时,无法打开数据连接,出现如下错误:

“STATUS:> Connecting data socket… 
   ERROR:> Failed to establish data socket”

  故障说明:FTP协议采用两个TCP连接来传输一个文件,一个是控制连接,一个是数据连接。
1、控制连接以通常的客户服务器方式建立。服务器以被动方式在21
    端口等待客户的连接,而客户则以主动方式打开服务器21端口,建立连接。控制连接建立后始终等待客户与服务器之间的通信,该连接将命令从客户传给服务器,并传回服务器的应答。

  2、当一个文件在客户与服务器传输时,就需要另外创建一个数据连接。创建数据连接有两种方式:PORT方式和PASSIVE方式。
   ◆PORT方式:
         客户端为将要创建的数据连接选择一个临时端口号(1024以上),并通过PORT命令将此端口号从控制连接发给服务器,服务器从控制连接上接收到端口号后向客户该端口号发起一个主动打开,即客户端在临时端口上等待服务器建立数据连接。服务器建立数据连接采用的端口号一般为20。
   ◆PASSIVE方式:
         客户端通过控制连接向服务器发送PASV命令,请求服务器打开一个端口建立数据连接,服务器选择一个临时端口,并将该端口号通过控制连接发回给客户端,客户端向服务器的该端口号发起主动打开,建立数据连接。

    简单的说,PORT方式是客户端在一个端口上侦听,等待服务器连接,而PASSIVE方式是服务器在一个端口上侦听,等待客户端连接。 PASSIVE通常用在客户端位于防火墙后或通过地址翻译等方式上网的情况。

故障原因及解决方法:
  出现不能打开数据连接时一般可能有两种情况
  1、服务器端FTP软件不支持PASSIVE方式,或服务器对端口限制比较严格,不允许打开高端端口等待连接,而客户端却采用PASSIVE方式连接,则会出现无法打开数据连接的现象。

  2、客户端在防火墙后面或经过地址翻译上网,通过PORT方式进行FTP时,客户端在一个临时端口侦听,但是服务器无法主动连接客户端地址(可能由于防火墙限制或客户端地址为私有地址),也会出现无法打开数据连接的现象。

    所以出现无法打开数据连接的情况时,请将客户端软件的是否选择PASSIVE的两种方式都测试一下。

  用户租用UNIX主机,在浏览网站时出现如下错误信息

  “Forbidden You don’t have permission to access / on this server.”

  故障原因:请检查网站主目录(htdocs)下是否存在index.htm、index.html等首页文件(注意大小写)。

  用户租用UNIX主机,在浏览网站时出现如下错误信息

  “Not Found  The requested URL / was not found on this server.”

  故障原因:请检查网站中是否存在htdocs目录。(由于htdocs目录为系统默认的网站主目录,故用户不要随意删除或更改配置信息)

  用户租用UNIX主机,在登录881控制面板时出现如下错误信息 

  “您的主目录下不存在htdocs或cgi-bin目录。请确认该目录存在后再试。访问拒绝。”

  故障原因:请检查网站中是否存在cgi-bin目录。(由于cgi-bin目录为系统默认的网站目录,故用户不要随意删除或更改配置信息)

technorati tags: ,

回复