在Azure VM上设置FTP服务器有问题。在正常使用中,服务器运行良好。通过被动FTP连接的大文件传输带来了问题。
设置
FTP-服务器软件是一种FileZilla服务器.Azure端点、Windows和Filezilla配置为使用端口10000-10009进行被动连接。客户端是第三方设备。
问题
在持续时间超过4分钟的大型文件传输中,连接将获得空闲超时。
我在微软博客上找到了一篇文章:
“当FTP正在传输大型文件时,传输所需的时间可能超过4分钟,特别是当VM大小为A0时。当文件传输超过4分钟时,Azure SLB将超时空闲TCP/21连接,这将导致在传输完所有数据后干净地完成FTP传输的问题。。。基本上,FTP使用TCP/21来设置一切并开始数据传输。数据的传输发生在另一个端口上。TCP/21连接在另一个端口的传输期间处于空闲状态。当传输完成后,FTP尝试在TCP/21连接上发送数据以完成传输,但是SLB将发送TCP重置。“
现在..。对于我的第三方客户端来说,不可能设置它来发送一个TCP源文件命令,以避免空闲超时。
问题
如何让Azure VM在4分钟后不关闭idel TCP连接?
我甚至不明白为什么会发生这种情况,因为这违反了TCP规范(RFC 5382特别明确了它在正常情况下的2h、4m )。换句话说,过早丢弃空闲连接的Azure不能用于长时间FTP传输。
请帮帮我!
问候
斯特芬
发布于 2015-11-17 21:01:27
我找到了两个解决方案!
1.可以将VM端点的超时设置为30分钟。
执行此操作的Powershell命令是:
> Get-AzureVM -ServiceName "MyService" -Name "MyVM" | Set-AzureEndpoint -Name "MyEndpoint" -IdleTimeoutInMinutes 30 | Update-AzureVM
更多信息,这里。
2.创建ILIP (实例级IP)
您可以创建一个ILIP来绕过层。执行此操作的PowerShell命令是:
Get-AzureVM -ServiceName “MyService” -Name “MyVM” | Set-AzurePublicIP -PublicIPName "MyNewEndpoint" | Update-AzureVM
更多信息,这里。
发布于 2015-11-16 19:25:44
我正在使用Filezilla的最新版本(3.14.1),您可以设置Filezilla来发送保持活动的数据包,建议您先尝试,而不是尝试更改默认的Azure负载均衡超时。但是,负载平衡器超时是用户可配置的(即:在您的控制下),详细信息可以在这里找到:https://azure.microsoft.com/en-us/documentation/articles/load-balancer-tcp-idle-timeout/。
若要在Filezilla中设置“保持活动”命令,请执行以下操作:
·打开FileZilla“编辑”菜单,选择“设置”。在Mac上,打开"FileZilla“菜单并选择”Preferences“。
在“设置”对话框的“连接”部分选择"FTP“页面。查找页面的"FTP保持活动“部分。
·激活"FTP保持活动“部分中的”发送FTP保持活动命令“框。这会在FileZilla和FTP服务器之间以较短的间隔发送命令,重新设置超时功能,并防止服务器关闭连接。
希望这能有所帮助。
https://stackoverflow.com/questions/33692173
复制相似问题