1、配置环境
运行powershell输入Get-WindowsFeature -Name NET-*, Web-* | where {$_.Name -notmatch "Web-Application-Proxy"} | Install-WindowsFeature这句命令就可以了
如果不想要IIS-Ftp-Server,可以输入Get-WindowsFeature -Name Web-Ftp* | Uninstall-WindowsFeature卸载,这里我们主要就是介绍IIS-FTP就不卸载了,虽然我不怎么爱用它,我一般习惯用mini sftp server,简单省事、安全(前提,密码设置复杂点)http://coreftp.com/server/download/mini-sftp-server.exe
双击打开填上用户名、密码、路径(我一般图简单就写c:)点start,一个轻量的sftp server就开好了,默认端口22,安全组放行22后,客户端用filezilla或xftp或其他ftp客户端软件就行,当然端口你可以改,填的啥在安全组放行啥,注意别跟其他在跑的业务端口冲突就行。
2、设置ftp站点
运行inetmgr打开IIS管理器
默认端口可以改,但不要把ftp 21端口改成22,尽量改无常规意义的端口,不要故意改成 22/80/443/1433/3306等常规特定端口
这里需要提前准备好test用户
net user 用户名 密码 /add
例如
总之,配置那是相当简单
3、配置被动模式端口范围
注意是在应用程序池上面的根上右击(不是ftp站点上右击),右击后能看到如图FTP防火墙,双击它,填上端口范围,一般20个以内就够,防火墙外部IP写服务器外网IP
4、服务器防火墙一般关闭就行,在安全组里配入站规则即可,出站规则一般放行所有,主要是入站规则要配好
入站规则放行21端口、被动模式端口、业务端口例如web端口、远程端口即可(如果是主动模式放行21和20即可)
如上图设置入站、出站规则后,客户端我用filezilla用主动和被动模式都能连上,但有些客户端可能只能用被动模式,这主要受限于客户端网络。
这里要特殊说明下,微软官网配置IIS FTP用的被动模式,此外,filezilla等ftp客户端软件也推荐被动模式连接,主要是为了提升客户端兼容性(什么主动、被动模式,在我自己都是浪费时间,我就用mini-sftp-server.exe,双击填上用户名、密码、路径即刻搞定,安全稳定可靠,用好多年了)。
微软文档:https://docs.microsoft.com/en-us/iis/publish/using-the-ftp-service/configuring-ftp-firewall-settings-in-iis-7
Filezilla: