我正在尝试使用curl通过FTPS部署azure网站。但是,它会引发错误,说明
无法连接到waws-prod-xxx-xxx-ftp.azurewebsites.windows.net 端口990:连接被拒绝。
但是,如果我只使用ftp而不是ftps,则相同的curl命令有效。
答案 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
& --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"