最开始以为只要配置IIS的ftp 服务就行,但是没那么简单。

1. 由于目前 Windows Azure 对外所有网络传输都会透过负载平衡器 (Load Balancer),虚拟机所有对外联机都需要在 Windows Azure 管理接口中增添 Endpoint,目前的 Windows Azure 并不允许设定一段区间的 TCP/UDP Port ,只能一个一个添加 Endpoint,并且最多只能提供 25 个对外的 Endpoint,要让 FTP 服务 Passive Mode能够正常运作,除了增添一个 TCP 21 Port 的 Endpoint 之外,我们还必需限缩数据信道 (Data Channel)  所需的 TCP Port,否则让 FTP Server 大范围随机建立数据信道 TCP Port,在目前 Windows Azure 负载平衡下很难运作。FTP Passive Mode 会用到数据信道 (Data Channel)  TCP Port 范围缩限为两个 TCP Port,以便之后 Windows Azure 管理接口中增添 Endpoint。我们可以透过 Server Manager 来做 FTP 防火墙设定

windows azure virtual machine上配置外部能访问的FTP服务器_第1张图片

 

FTP Passive mode 在建立数据信道的过程中,我们需要将对此虚拟机对外的 IP Address 告知 FTP Server,以避免 FTP 将内部 IPv4 地址传给 FTP 客户端,这会造成在建立数据信道的过程时被 Windows Azure 挡在门外。你要进行 FTP Site 层级的 FTP 防火墙设定。你可以通过ping或者如下图,获得此虚拟机对外的 IP Address

windows azure virtual machine上配置外部能访问的FTP服务器_第2张图片

windows azure virtual machine上配置外部能访问的FTP服务器_第3张图片

 

在 Windows Azure 管理接口中增添 Endpoint

windows azure virtual machine上配置外部能访问的FTP服务器_第4张图片

 

对了,安装配置好iis的ftp服务后,记得要重启下,不然你会发现用ftp客户端软件连接后会有问题的