I'm having issues when trying to upload some files to ftp server when TLS is enabled:
{"name":"ftp-srv","hostname":"laptop","pid":16256,"id":"-8197-4e6d-b1f8-a944121da3d8","directive":"STOR","level":50,"err":{"message":"operation timed out","name":"TimeoutError","stack":"TimeoutError: operation timed out\n at afterTimeout (/home/jquinto/node_modules/bluebird/js/release/timers.js:46:19)\n at Timeout.timeoutTimeout [as _onTimeout] (/home/jquinto/node_modules/bluebird/js/release/timers.js:76:13)\n at ontimeout (timers.js:498:11)\n at tryOnTimeout (timers.js:323:5)\n at Timer.listOnTimeout (timers.js:290:5)"},"msg":"operation timed out","time":"2018-06-14T09:14:30.628Z","v":0}
Note: If TLS disabled that works perfectly.
My code:
const server = new FtpServer("ftps://127.0.0.1:8880", {
logger,
pasv_range: 8881,
tls: {
key: `${process.cwd()}/cert/server.key`,
cert: `${process.cwd()}/cert/server.crt`,
ca: `${process.cwd()}/cert/server.csr`
},
anonymous: true
})
server.on("login", ({ connection, username, password }, resolve, reject) => {
if ((username === "test" && password === "test") || username === "anonymous") {
connection.on("STOR", (error, fileName) => {
logger.info("file stored: ", fileName)
})
connection.on("RETR", (error, filePath) => {
logger.info("file downloaded: ", filePath)
})
resolve({ root: `${process.cwd()}/bdd/mockftp/root` })
} else reject("Bad username or password")
})
server.on("client-error", ({ error }) => {
logger.error(error)
})
server.listen().then(() => {
logger.info("started FTP service.")
})
I'm having issues when trying to upload some files to ftp server when TLS is enabled:
Note: If TLS disabled that works perfectly.
My code: