环境:Windows Azure 中 Windows 2008 R2 With SP1虚拟机
创建步骤不再详述
P.S. 防止重启Cloud Service导致IP发生变化影响其他应用程序调用或用户访问
1: Test-AzureStaticVNetIP -VNetName EastAsiaSubnetwork -IPAddress 192.168.0.128
2:
3: $staticVM = Get-AzureVM -ServiceName JACKYFTP -Name JACKYFTP
4: Set-AzureStaticVNetIP -VM $staticVM -IPAddress 192.168.0.128 | Update-AzureVM
5: Get-AzureStaticVNetIP -VM $staticVM
1: # Location 参数来自于 Get-AzureLocation
2: # 当前虚拟机已经存在直接获取当前数据中心提供的公网IP给到Cloud Serive即可
3: # 注意:Cloud Service是容器,一个Cloud Service只有一个公网IP,
4: # 下属多台虚拟机共享这一个公网IP,所以这里仅指定Cloud Service Name不指定虚拟机名
5: # ReservedIPName 参数任意给予一个不冲突的名字即可
6: New-AzureReservedIP -ServiceName 'JACKYFTP' -ReservedIPName 'FTPVIP' -Location 'East Asia'
7: Get-AzureReservedIP
新建FTP服务器步骤略过,就是使用向导下一步下一步
完成上面所有步骤后已经可以在本机访问FTP服务器了
接下来需要为外网访问进行配置
配置鉴权方式
激活基本身份验证使得可以通过Windows用户名密码方式登陆访问
配置FTP防火墙
指定FTP被动模式下使用的特点端口段
先开10个端口用着,不够自己加
同时设置虚拟机外部IP地址,否则会提示无法转发路由导致外部访问失败
配置目录浏览信息,需要就配不需要就跳过
配置SSL加密访问,需要就配,不需要跳过
这个比较简单,不用自己去配证书根节点了,直接用Azure提供的SSL证书即可,有特殊需求或特殊嗜好的另议
接下来针对具体站点个性化配置,可能你需要再配置一遍以满足实际需要
Windows 防火墙个人比较直接,那就直接关掉先吧
Azure Cloud Service我们除了需要加入FTP的21端口,还需要开放之前配置的5000-5010 10个端口
当然如果不嫌麻烦可以一个一个在Portal点击添加,但是我比较懒还是脚本跑完算了吧
1: Get-AzureVM -ServiceName "JACKYFTP" -Name "JACKYFTP" |
2: Add-AzureEndpoint -Name "FTP5000" -Protocol "tcp" -PublicPort 5000 -LocalPort 5000|
3: Add-AzureEndpoint -Name "FTP5001" -Protocol "tcp" -PublicPort 5001 -LocalPort 5001|
4: Add-AzureEndpoint -Name "FTP5002" -Protocol "tcp" -PublicPort 5002 -LocalPort 5002|
5: Add-AzureEndpoint -Name "FTP5003" -Protocol "tcp" -PublicPort 5003 -LocalPort 5003|
6: Add-AzureEndpoint -Name "FTP5004" -Protocol "tcp" -PublicPort 5004 -LocalPort 5004|
7: Add-AzureEndpoint -Name "FTP5005" -Protocol "tcp" -PublicPort 5005 -LocalPort 5005|
8: Add-AzureEndpoint -Name "FTP5006" -Protocol "tcp" -PublicPort 5006 -LocalPort 5006|
9: Add-AzureEndpoint -Name "FTP5007" -Protocol "tcp" -PublicPort 5007 -LocalPort 5007|
10: Add-AzureEndpoint -Name "FTP5008" -Protocol "tcp" -PublicPort 5008 -LocalPort 5008|
11: Add-AzureEndpoint -Name "FTP5009" -Protocol "tcp" -PublicPort 5009 -LocalPort 5009|
12: Add-AzureEndpoint -Name "FTP5010" -Protocol "tcp" -PublicPort 5010 -LocalPort 5010|
13: Update-AzureVM
如果觉得一行一行修改麻烦,再给个办法,很土很粗暴,但是很有效
写完第一行往下一拖,然后全部拷出来批量替换掉不要的/Tab,拼接到上面语句头尾之间,F5执行完事
为什么要重启操作系统,不简单重启FTP服务或IIS服务呢?
这个问题别问我,问我我也不知道,反正重启完后他自己就回复正常了
链接的时候会提示是否接受证书,点接受即可,不想点也可以跳过上面配置SSL步骤即可