Azure Logic App FTP复制文件报BadGateway,端口自动还原至21求助
解决Azure Logic App FTP连接自动重置端口导致的BadGateway错误
你遇到的核心问题是API连接会自动恢复端口21,而你的FTP服务器应该是使用隐式TLS/SSL(默认端口990),这就导致了协议违规的错误——因为隐式TLS要求一开始就建立加密连接,而21端口是用于显式TLS(先明文再升级加密)的,两者不匹配就会触发BadGateway。
下面是针对性的解决方案:
1. 明确配置FTP连接的端口和TLS类型
不要仅仅删除端口字段,而是手动指定正确的端口并开启对应TLS选项:
- 编辑FTP连接时,在端口输入框中填写
990(隐式TLS的标准端口) - 找到并勾选**“隐式TLS/SSL”**选项(这个选项是关键,直接决定了连接的加密模式)
- 保存连接后,立即测试手动执行,确认操作正常
2. 重新创建API连接
有时候旧的API连接会缓存配置,导致自动重置端口。尝试:
- 删除当前的FTP API连接(注意先停用Logic App,避免临时报错)
- 重新创建一个新的FTP连接,严格按照上述步骤设置端口990和隐式TLS
- 将新连接关联到Logic App的FTP复制操作上,保存并启用Logic App
3. 检查ARM模板的硬编码配置
如果你的Logic App是通过ARM模板部署的,检查模板中FTP连接的parameters部分,确认是否有硬编码的port值为21:
"parameters": { "ftp_Connection_Name": { "defaultValue": "ftp-connection", "type": "String" }, "ftp_Server": { "defaultValue": "your-ftp-server.com", "type": "String" }, "ftp_Port": { "defaultValue": 21, // 这里要改成990 "type": "Int" } }
修改后重新部署模板,确保配置持久化。
4. 验证连接的持久性
完成配置后,等待10-15分钟(模拟连接自动刷新的周期),然后:
- 查看FTP API连接的详情,确认端口仍然是990
- 触发几次Blob添加/修改的自动执行,检查FTP操作是否正常运行
错误原因补充
当连接自动恢复为端口21时,Logic App会尝试用21端口建立隐式TLS连接,但隐式TLS要求在连接初期就启动SSL握手,而21端口默认是明文传输的,FTP服务器会拒绝这种不符合协议的连接请求,最终返回“检测到FTP协议违规”的BadGateway错误。
内容的提问来源于stack exchange,提问作者shanabus
相关产品推荐
相关产品推荐

