|
本文主要介绍了Windows Server 2016 使用IIS配置FTP, 场景简介: A服务器搭建了ftp,现在B服务器要通过ftp去连接A服务器传输文件。 (1)主动模式:A服务器放通20及21端口,对端B服务器需要放通一个高位端口范围以建立数据连接。(例如,放通5000 - 6000) (2)被动模式:A服务器放通21端口及1024 - 65535间的端口(例如,放通5000 - 6000)端口。B服务器没有要求。 添加IIS角色 选择“开始 > 服务器管理器”, 单击“添加角色和功能”; 下一步; 下一步; 下一步 选择“Web服务器(IIS)”,点击“添加功能”,然后点击下一步; 下一步 选择“FTP服务器”,点击下一步 安装 安装完成后,点击关闭 至此IIS安装完毕。 添加FTP站点 选择“开始 > Windows管理工具”,打开IIS管理器,选择“网站”,右击“添加FTP站点” 设置站点名称和站点目录 绑定IP地址保持默认即可,SSL选择:“无SSL” 身份验证和授权配置 身份验证我这里选择了“基本”意思是需要用户提供有效用户名和密码才能访问内容。 如果选择匿名,则是允许任何仅提供用户名 “anonymous” 或 “ftp” 的用户访问内容。 授权这里我选择了指定用户,仅指定的用户才能访问相应内容,这个指定用户见第二步中添加的用户; 权限我选择了读取和写入; 至此FTP站点添加完毕。 添加用于登录FTP站点的用户 如果你的FTP站点是完全对外开放的,可以不创建用户,匿名登录即可; 选择“开始 > Windows管理工具”,打开“计算机管理”;选择“系统用户 > 本地用户和组 > 用户”,在右侧空白处右击,选择“新用户”,设置用户名、密码,点击创建即可 FTP登录用户添加完毕。 设置FTP站点根目录访问权限 打开FTP文件夹属性,选择“安全”,点击“编辑” 点击“添加” 选择指定用户 点击“高级” 点击“立即查找”,选择FTP用户,点击“确定” 点击“确定” 设置ftpuser对FTP目录的权限为完全控制 至此FTP站点根目录访问权限设置完毕。 测试连接 出现报错: 这个报错的原因是:Windows资源管理器默认是使用被动模式连接,而FTP是多通道协议(控制通道和数据通道)。VPC的ECS网卡只有一个私网IP地址,FTP服务器没有指定被动模式的公网IP地址,导致客户端和服务器建立数据通道的连接时,服务器返回的数据通道的连接地址是私网IP地址,公网路由不可达从而导致连接失败。 解决方法: 打开FTP服务器的IIS,打开FTP防火墙支持功能 注意:不是FTP站点里的FTP防火墙支持; 设置被动模式的端口范围,指定服务器的公网IP地址,点击“应用”; 注意:被动模式的端口范围取值大于1023即可,另外安全组上也要放行这个端口范围 重启IIS 再次测试连接正常,且可以正常传输数据。 主动模式连接测试 因为Windows资源管理器连接FTP时默认是被动模式,我们将被动模式的勾选去掉后,就成为主动模式了 但是主动模式连接时再次出现报错: 其实和被动模式下使用Windows资源管理器连接FTP服务器报错是一样的原因,我这里使用的是云服务器做为客户端测试的,而云服务器的网卡上都是配置的私网IP地址,如果服务器网卡上直接配置的是公网IP地址,则不会出现这种报错。 解决方法: 使用一个可以设置以客户端的公网IP连接FTP的软件,我选择使用Filezilla Client免费版,WinScp和Xftp都测了下,没有可以设置的地方,Windows资源管理器也没有设置的地方。 设置方法如下: 测试连接传输: 至此Windows Server 配置ftp就完成了,大概总结下: FTP的工作方式有2种,主动和被动; 主动模式下控制层端口为21,数据层端口20; 被动模式下控制层端口未21,数据层端口随机,可设置端口范围; 使用Windows资源管理器连接FTP时,默认是被动模式; 受限于云计算架构,云服务器的网卡都是私网IP地址,所以在配置FTP的时候要注意设置以公网IP地址提供访问; 实际工作中,遇到客户咨询FTP问题,推荐使用被动模式,方便配置,也更安全。 本文由骑士互联为您提供,转载请标注明。如需月付空间,美国服务器租用,免费虚拟主机,香港服务器租用,免费空间,香港VPS,美国VPS,香港虚拟主机,站群服务器租用请认准骑士互联,买的放心用的安心。 |