卷曲azure网站ftps连接拒绝端口990

时间:2016-07-21 22:46:56

标签: azure curl ftp azure-web-sites ftps

我正在尝试使用curl通过FTPS部署azure网站。但是,它会引发错误,说明

  

无法连接到waws-prod-xxx-xxx-ftp.azurewebsites.windows.net   端口990:连接被拒绝。

但是,如果我只使用ftp而不是ftps,则相同的curl命令有效。

2 个答案:

答案 0 :(得分:0)

@Sam,根据cURL FAQ的4.15 FTPS doesn't work部分,问题应该是因为FTPS默认端口是990,但仍然在Azure上使用端口21,请参阅下面的解释。

  

curl支持FTPS(有时称为FTP-SSL)隐式和显式模式。

     

当使用以FTPS://开头的URL时,curl假定控制连接上存在隐式SSL,因此会立即连接并尝试说SSL。 FTPS://连接默认为端口990。

     

要使用显式FTPS,请使用FTP:// URL和--ftp-ssl选项(或其相关风格之一)。这是最常用的方法,也是RFC4217规定的方法。当然,这种连接默认使用标准FTP端口21。

所以请尝试添加-k&amp; --ftp-ssl选项并使用ftp网址为您的curl命令启用SSL,例如curl -k --ftp-ssl -u '<webappname>\<username>:<password>' ftp://<hostname>.ftp.azurewebsites.windows.net/

答案 1 :(得分:0)

您好我随机找到了一个解决方案,我会回答:

curl --ftp-ssl -T test.txt -k -u "<webappname>\<username>:<password>" "ftp://waws-prod-yt1-001.ftp.azurewebsites.windows.net"

在UNIX上运行它可以让我成功连接。但是在Windows上,它因连接被拒绝(端口21)而失败

原来Windows版本不像双破折号选项&#34; - ftp-ssl&#34;并使用一个破折号解决了它!

curl -ftp-ssl -T test.txt -k -u "<webappname>\<username>:<password>" "ftp://waws-prod-yt1-001.ftp.azurewebsites.windows.net"