1.启用FTP服务
2.创建FTP登陆用户
3.创建FTP站点
4.在Portal上增加endpoints
5.配置防火墙允许在上面增加的endpoint 端口上进行通信
6.重启FTP服务
1.启用FTP服务
这应该很简单,以server 08 R2为例(我Azure vm的系统是这个),打开Server Manager,点击Add Roles,选择组件“Web Server (IIS)”,并且在Role Services里面把FTP Server勾上,一步步往下点击安装就OK了
2.创建FTP登陆用户
在本地机器上创建一个用户用来登陆到FTP,我的电脑->管理->本地用户和组->用户->,点击新建用户,输入用户名和密码点击创建就行
3.创建FTP站点
打开IIS,右击Sites,选择Add FTP Site,自己选择一个物理路径,比如c:FTPUpload, 端口默认使用21,地址一般是自己的IP地址。身份认证可以选择基本,访问权限根据自己的需要选择,有读取和写入。
现在你搭建FTP服务的Vm应该就可以访问FTP site了,在IE或者windows explore里面输入ftp
4.在Portal上增加endpoints
用过Azure Vm的应该都知道,在virtual machine的下面有一个EndPoints tab,我们可以在下面增加些http,ftp..,端口,如下图所示
a. 对于主动FTP你需要允许访问21(FTP Command port)和20(FTP data port)端口,因此你需要在Endpoints下给你的azure vm增加这两个端口:TCP/20,TCP/21.b. 对于被动FTP,我们需要告诉FTP服务器能用于数据连接的端口的范围,端口的范围是你自己定的,比如我用1035-1040,那么我们先需要在IIS的FTP firewall Support里面把这个端口的range加进去,然后再把这些端口加到Azure VM的Endpoints里面去
打开IIS Manager,在Connections pane里面选择localhost站点,双击FTP Firewall Support,如下图,输入端口范围和IP地址,注意这里的IP地址指的是你VM的VIP 地址即公网的IP地址而不是内网的IP地址
VIP Address:
在Endpoints里面增加ports range(1035-1040)都应该加进去。如果端口太多的话可以考虑用Windows Azure Powershell来增加Windows Azure Powershell cmdlets
5.配置防火墙允许在上面增加的endpoint 端口上进行通信
打开Windows Firewall with Advanced Security,在Inbound Rules下面选择New Rules,Rule Type选择Port,Specific local ports输入1035-1040,接下来往下,都用默认的配置就好。
6.重启FTP服务
net stop ftpsvcnet start ftpsvc