2

我正在努力连接到 Azure 中新 VM 上的 FTP。

我从默认映像(Windows Server 2012 Datacenter)创建了一个新的虚拟机,并将 RDP 插入到新的 VM 中。然后,我启用了 Web 服务器 (IIS) 角色,包括 FTP 服务器,并使用 Web 平台安装程序中的推荐设置配置了 IIS。然后,我使用 IIS 管理器“添加 FTP 站点...”向导添加一个具有 root 权限的 FTP 站点,%systemdrive%\inetpub\ftproot并将 ftp 站点设置为启用匿名身份验证、允许匿名用户读取访问权限、提供数据通道端口范围 7000-7014,以及从 Azure 管理门户中的 VM 仪表板将防火墙的外部 IP 地址指定为公共虚拟 IP (VIP) 地址。

防火墙还配置为允许 FTP 服务器。

此时 FTP 服务正在工作。我知道,因为如果我在 RDP 会话中打开虚拟机上的命令提示符,我会得到以下信息

C:\Users\slife>ftp 127.0.0.1
Connected to 127.0.0.1.
220 Microsoft FTP Service
User (127.0.0.1:(none)): ftp
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
ftp>

但是我无法从其他地方连接。

C:\Users\timregan>ftp 111.111.111.33
Connected to 111.111.111.33.
Connection closed by remote host.

那是从我得到的 FileZilla 中的命令提示符

Status: Connecting to 111.111.111.33:21...
Status: Connection established, waiting for welcome message...
Error:  Could not connect to server

我遵循了 Ronald 的演练:在 Windows Azure VM 中在 IIS 7.5 上托管 FTP并添加了两个端点以允许访问端口 21(FTP 命令端口)和 20(FTP 数据端口),并且我使用了他的 Azure Powershell 建议添加被动端口端点,例如

Get-AzureVM -ServiceName 'blah' -Name 'blah' | Add-AzureEndpoint -Name 'FTPPassive00' -Protocol 'TCP' -LocalPort 7000 -PublicPort 7000 | Update-AzureVM

然后我可以在 VM 的 Azure 管理的端点列表中看到。

为什么我的连接无法从外部连接到 IIS 中的 FTP 服务器?如何诊断故障?

========== 编辑 1 ==========

我想知道适用于 haxor 的解决方案是否可以解决问题。这引用了Windows Azure 虚拟机论坛上“ Azure 上的 Server 2012 VM - Passive FTP Won't Work ”的答案,该论坛指出,如果 Azure 门户在被动端点上配置了探测,则它们可能无法工作。尽管答案指出这在最新版本的门户中已修复,但它建议使用 Azure Powershell cmdlet Add-AzureEndpoint 来确保不启动任何探测。我检查了 Azure Powershell cmdlet Get-AzureEndpoint,我的 ftp 端点都没有探测,所以这不是我的问题。

========== 编辑 2 ==========

我注意到原始演练中未提及的 IIS8 和 Windows Azure 虚拟机中的被动 FTP 和动态端口中的一个步骤:在 Windows 防火墙中打开数据通道端口范围(7000-7014)。我添加了一个入站规则来做到这一点。我仍然无法连接。

4

2 回答 2

1

可以在以下位置找到更完整的说明:http: //blogs.msdn.com/b/wats/archive/2013/12/13/setting-up-a-passive-ftp-server-in-windows-azure-vm .aspx 我按照那里的说明进行操作,FTP 在 Azure 上运行良好。

于 2014-08-15T06:25:27.207 回答
0

一位同事建议调查 SSL,所以我删除了 FTP 站点并重新开始构建一个新站点。新的 ftp 站点工作。盯着 IIS 管理器中新 FTP 站点的配置屏幕,我怀疑旧站点上的绑定错误地将 127.0.0.1 指定为 IP 地址,而不是全部未分配(即 *)

于 2013-09-10T12:28:22.783 回答