开发者社区> 问答> 正文

Ftp上传文件出现问题

我使用阿里云轻量应用服务器(LAMP)搭建了FTP服务器。在我本地的Windows操作系统环境下可以使用cmd终端连接到阿里云远程的FTP服务器,进行文件上传与下载等操作;但是在我本地CentOS(使用虚拟机构建)环境下只能连接到FTP服务器,而不能进行文件操作。在关闭我本地centos环境下防火墙、配置vsftd.conf文件的pasv_enable=YES的情况下也均不能进行文件操作。有大佬出现过这个问题吗?

展开
收起
ronniehu 2019-04-24 19:59:24 4804 0
1 条回答
写回答
取消 提交回答
  • 把你的FTP_Server模式修改为PASV模式试试。
    FTP基础知识
    FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
    FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
    PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
    当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了端口,你过来连接我”。于是服务器从20端口向客户端的端口发送连接请求,建立一条数据链路来传送数据。
    PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
    当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了端口,你过来连接我”。于是客户端向服务器的端口发送连接请求,建立一条数据链路来传送数据。
    从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。

    2019-07-17 23:34:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载