我尝试使用Azure虚拟机的活动连接连接到远程FTP服务器。我得到的错误是从Azure虚拟机打开活动的FTP连接
非法PORT命令。
我没有问题连接到其他FTP站点使用被动连接,但该FTP服务器只支持活动。我的问题与this question基本相同,只是我的问题不是由Windows防火墙引起的。我通过关闭防火墙几秒钟并重新尝试连接来验证这一点,但没有运气。
我的理论是,这与Azure的“端点”有关,尽管我无法验证并且我不知道如何设置它们来允许这样做。
任何想法?
我尝试使用Azure虚拟机的活动连接连接到远程FTP服务器。我得到的错误是从Azure虚拟机打开活动的FTP连接
非法PORT命令。
我没有问题连接到其他FTP站点使用被动连接,但该FTP服务器只支持活动。我的问题与this question基本相同,只是我的问题不是由Windows防火墙引起的。我通过关闭防火墙几秒钟并重新尝试连接来验证这一点,但没有运气。
我的理论是,这与Azure的“端点”有关,尽管我无法验证并且我不知道如何设置它们来允许这样做。
任何想法?
是的,这看起来像一个丢失的端点(+入站规则,如果你想启用防火墙)。 在主动模式下服务器连接回特定端口(由客户端,PORT命令传递)上的客户端 - longer explanation
为了在Azure上使用主动模式,你必须:
限制你FTP客户端使用特定的端口(或范围)和公共IP(它在您的VM的壁纸上) eg FileZilla: 每个客户都应该有这个选项。除非你不幸运用.NET Framework FTPWebRequest。
在你的Azure的VM的Endpoint settings相同的端口(或范围)添加端点: 没有办法添加端口范围在点击你有一个(很烦人)
就是这样。你可以运行FileZilla“网络连接向导”来验证这些设置,你应该看到类似这样的内容:
Connecting to probe.filezilla-project.org
Response: 220 FZ router and firewall tester ready
USER FileZilla
Response: 331 Give any password.
PASS 3.9.0.6
Response: 230 logged on.
Checking for correct external IP address
IP 23.102.xx.xxx cd-bac-dd-bcg
Response: 200 OK
PREP 6000
Response: 200 Using port 6000, data token 1941533557
PORT 23,102,xx,xxx,23,112
Response: 200 PORT command successful
LIST
Response: 150 opening data connection
Response: 200 Successful
QUIT
Response: 200 goodbye!
完美,非常感谢! – Will 2014-11-03 21:07:44