前言
Windows配置FTP并不难,但有很多大佬配置成功后,连接报错各种问题。因为FTP在配置过程中,有很多小的技术细节可能没有完全掌握,今天归纳总结下。
搭建方案
1,Windows Server 自带 IIS 搭建(配置繁琐,不太推荐)
2,软件搭建,常见Filezilla、宝塔等(搭建简单,功能完善,比较推荐)
细细聊聊第一种方案(Windows Server 自带 IIS 搭建)
1,添加IIS角色 > 选择 “左下角开始” > 服务器管理器”, 单击“添加角色和功能”;
2,选择下一步;
3,选择下一步;
4,选择下一步;
5,选择“Web服务器(IIS)”,点击“添加功能”,然后点击下一步;
6,选择下一步;
7,选择“FTP服务器”,点击下一步;
8,选择安装,安装完成后,点击关闭,至此IIS安装完毕。
9,添加FTP站点,选择“开始 > Windows管理工具”,打开IIS管理器,选择“网站”,右击“添加FTP站点”;
10,设置站点名称和站点目录;
11,绑定IP地址保持默认即可,SSL选择:“无SSL”;
12,身份验证和授权配置,至此FTP站点添加完毕。
身份验证这里选择了“基本”意思是需要用户提供有效用户名和密码才能访问内容。
如果选择匿名,则是允许任何仅提供用户名 “anonymous” 或 “FTP” 的用户访问内容。
授权这里选择了指定用户,仅指定的用户才能访问相应内容,这个指定用户见第二步中添加的用户;
权限选择了读取和写入;
13,添加用于登录FTP站点的用户,如果你的FTP站点是完全对外开放的,可以不创建用户,匿名登录即可;
选择“开始 > Windows管理工具”,打开“计算机管理”;选择“系统用户 > 本地用户和组 > 用户”,在右侧空白处右击,选择“新用户”,设置用户名、密码,点击创建即可,至此FTP登录用户添加完毕。
14,设置FTP站点根目录访问权限,打开FTP文件夹属性,选择“安全”,点击“编辑”;
15,点击“添加”>选择指定用户 >点击“高级”>点击“立即查找”,选择FTP用户,点击“确定”;
16,设置FTPuser对FTP目录的权限为完全控制,至此FTP站点根目录访问权限设置完毕。
17,测试连接;
18,出现报错:
这个报错的原因是:Windows资源管理器默认是使用被动模式连接,而FTP是多通道协议(控制通道和数据通道)。VPC的ECS网卡只有一个私网IP地址,FTP服务器没有指定被动模式的公网IP地址,导致客户端和服务器建立数据通道的连接时,服务器返回的数据通道的连接地址是私网IP地址,公网路由不可达从而导致连接失败。
19,解决方法:
打开FTP服务器的IIS,打开FTP防火墙支持功能
注意:不是FTP站点里的FTP防火墙支持;
20,设置被动模式的端口范围,指定服务器的公网IP地址,点击“应用”;
注意:被动模式的端口范围取值大于1023即可
21,重启IIS;
22,再次测试连接正常,且可以正常传输数据。
有很多大佬在资源管理器进行连接报错了,因为Windows资源管理器连接FTP时默认是被动模式,我们将被动模式的勾选去掉后,成为主动模式就可以正常连接了,被动模式连接需要在客户端,也就是本地电脑设置取消勾选“使用被动FTP”即可。
细细聊聊第二种方案(软件搭建,以Filezilla示例)
1,选择使用Filezilla Client免费版,WinScp和Xftp都测了下,没有可以设置的地方,Filezilla操作设置方法如下:
2,测试连接传输,至此软件Filezilla配置ftp就完成了,是不是很简单;
总结
1、 FTP的工作方式有2种,主动和被动;
主动模式下控制层端口为21,数据层端口20;
被动模式下控制层端口未21,数据层端口随机,可设置端口范围;
2、 使用Windows资源管理器连接FTP时,默认是被动模式,需要取消被动以主动模式连接;
3、 实际工作中,FTP问题,推荐使用被动模式,方便配置,也更安全。
版权归原作者 ongwu 所有, 如有侵权,请联系我们删除。