Сброс соединения при попытке загрузить файл через FTPS
Я использую настройку FTP-сервера с pyftpdlib
и работает в FTP+SSL
режим включен 127.0.0.1:2121
, Я использую самозаверяющий ключ и файл сертификата. Конфигурация для сервера приведена ниже:
main.py
authorizer = DummyAuthorizer()
authorizer.add_user('XXXX', 'XXXX', './test_home', perm="elradfmwMT")
handler = TLS_FTPHandler
handler.certfile = 'cert.pem'
handler.keyfile = 'key.pem'
handler.authorizer = authorizer
server = FTPServer(('127.0.0.1', '2121',), handler)
if __name__ == '__main__':
server.serve_forever()
Я подключаюсь к серверу, используя nodejs
настройка клиента с использованием node-ftp
пакет. Вот как настроен клиент:
ftpc.js
const Ftpc = require('ftp');
const fs = require('fs');
const client = new Ftpc();
client.connect({
host: '127.0.0.1',
port: 2121,
user: 'XXXX',
password: 'XXXX',
secure: true,
secureOptions: {
rejectUnauthorized: false
}
});
Из журнала сервера (на стандартный вывод) я получаю следующее:
[I 2019-05-26 00:04:52] 127.0.0.1:37350-[] FTP session opened (connect)
[I 2019-05-26 00:04:52] 127.0.0.1:37350-[XXXX] USER 'XXXX' logged in.
[I 2019-05-26 00:04:52] 127.0.0.1:37350-[XXXX] FTP session closed (disconnect).
Из вывода ошибки клиента на stoud я получаю:
Server send pyftpdlib 1.5.5 ready.
[!] File upload error
{ Error: read ECONNRESET
at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
[!] Closing client connection
Ошибка возникает, когда я пытаюсь загрузить файл, используя client.put
, Файл, который я пытаюсь загрузить, имеет следующие разрешения:
-rw-r--r-- 1 <CURRENT_USER> users 893150 May 19 11:42 YYY.ZZZ
Основываясь на приведенной ниже настройке, я не уверен в характере ошибки. Если сервер отключает соединение, это из-за проблемы в handler.keyfile
а также handler.certfile
настроить? Причина в том, что без безопасных параметров для клиента и сервера загрузка файла работает правильно.
Будем весьма благодарны за любые предложения по поводу причины ошибки или, для лучшей отладки проблемы. Спасибо