博主前几天写了一篇如何在 Windows Azure 上搭建 FTP 的博文 Windows Azure 上搭建 FTP

搭完后,成功连接上,于是博主开始了欢快的上传。但是,不一会儿就遇上问题了:

...
PORT 192,168,1,50,24,3
200 PORT command successful.
STOR 文件名
150 Opening ASCII mode data connection.
550
传输失败
...
PORT 192,168,1,50,66,6
200 PORT command successful.
STOR 文件名
150 Opening BINARY mode data connection.
550
传输失败

附图:

294-1

294-2

后来,博主又尝试连接,发现有时候能正常上传,可是上传了一会儿,就又卡在 150 上了。

于是博主换成 PASV (被动) 模式,但是在被动模式下,卡在 正在打开数据连接 IP: 42.159.225.255 端口: 14385 上。

网上查了下,卡在 150 上一般是防火墙的问题。但 Azure 只开放用户自己开通的端口,况且我们也不知道 PORT (主动) 模式到底用了除了 21 端口外的哪个端口,所以,我们只好采用 PASV (被动) 模式。

接下来博主将一步一步教你如何设置 Azure 采用 PASV (被动) 模式的方法。如何搭建 FTP 请参阅前文 Windows Azure 上搭建 FTP

 

1.打开 IIS,在右面打开 FTP 防火墙支持

FTP 防火墙支持
FTP 防火墙支持

2.设置FTP 防火墙支持

a.将数据通道范围设置成 XX-XX 的形式,意思就是说设置端口的范围,一般使用 1024 以上的端口。注意:在这里填写的端口范围,都需要在 Azure 的控制面板上打开相应的端口,但是 Azure 的控制面板上端口要一个一个添加,所以这里推荐只设置较少的端口。博主比较懒,只设置了一个端口,7000,在上面需要填写 7000-7000,如果要设置端口范围,可以这样设置:7000-7005

设置端口范围
设置端口范围

b.防火墙的外部 IP 地址设置 Azure 给你的 IP 地址,IP 地址可以在 Azure 的控制面板上找到,或者在 IE 浏览器中打开网址 http://ip138.com/ 用他显示的 IP

查看公用 IP
查看公用 IP

c.点击右上角的应用,弹出的提示可以无视,关于防火墙,在你安装 FTP 时,系统就打开了 1024-65535 的被动流入端口,所以无需设置

3.这时候建议重新启动服务器,因为博主发现只重启 IIS 服务没有效果,用 Flashxp 连接还是使用其他端口,而不是博主设置的 7000;

4.现在需要对 Azure 的控制面板进行设置了。在上图的基础上,第三步不要点击仪表盘,而是端点点击下方的添加按钮,选择添加独立终节点,再按下图设置即可。注意:如果前面你设置了多个端口,在这里你需要多次添加所有的端口。设置完成后,你会发现使用 PASV (被动) 模式可以很流畅得上传文件了。

指定端口
指定端口

原创文章,转载请以链接形式注明出处:http://blog.ttionya.com/article-294.html