我正在使用basic-ftp使用Node JS(12.13.0)和NPM(6.13.19)。一切正常,当我从本地主机在开发计算机上运行代码时,我可以将文件上传到远程FTP(没有SSL,我的远程FTP不允许这样做)。
生产服务器托管在Digital Ocean(Ubuntu 18.04.3)上,我试图禁用防火墙,因为我认为这可能是导致问题的原因。我使用了sudo ufw disable
,只是为了确保它被禁用,我用sudo ufw status
检查了当前状态,该状态返回了Status: inactive
。
这是我的代码
async function uploadImageToFtp(fileName,path) {
const client = new ftp.Client()
client.ftp.verbose = true
try {
await client.access({
host: process.env.FTP_HOST,user: process.env.FTP_USER,password: process.env.FTP_PASSWORD,secure: false
})
await client.uploadFrom(path,"images/bd/" + fileName)
} catch (err) {
console.log(err)
}
client.close()
}
生产响应
Connected to EXTERNAL_IP_ADDRESS < 220 server ready - login please Login
security: No encryption
> USER username < 331 password required
> PASS ###
再次在localhost上一切正常,我们通过了此步骤,开始将文件上传到同一服务器和凭据。
此后,除了我的请求因Bad Gateway 502超时外,我再也没有收到任何答复。