Error message: GnuTLS error -110 in gnutls_record_recv: The TLS connection was non-properly terminated.
Scene: pure-ftpd server + FileZilla client
Reason: Method to connect TLS in FileZilla is incompatible with Pure-FTP
Official Bug Report: https://bugs.launchpad.net/ubuntu/+source/pure-ftpd/+bug/1832998
Solution 1: Upgrade pure-ftpd-mysql to version 1.0.47 or above.
1) Download dependent packages (Ubuntu 18.04 as an example)
#wget https://repo.mysql.com/apt/ubuntu/pool/mysql-8.0/m/mysql-community/mysql-common_8.0.21-1ubuntu18.04_amd64.deb [Please download other package if not Ubuntu 18.04]
#wget https://repo.mysql.com/apt/ubuntu/pool/mysql-8.0/m/mysql-community/libmysqlclient21_8.0.21-1ubuntu18.04_amd64.deb [Please download other package if not Ubuntu 18.04]
#wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pure-ftpd/pure-ftpd-common_1.0.49-4_all.deb
#wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pure-ftpd/pure-ftpd-mysql_1.0.49-4_amd64.deb
#wget https://repo.mysql.com/apt/ubuntu/pool/mysql-8.0/m/mysql-community/libmysqlclient21_8.0.21-1ubuntu18.04_amd64.deb [Please download other package if not Ubuntu 18.04]
#wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pure-ftpd/pure-ftpd-common_1.0.49-4_all.deb
#wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/p/pure-ftpd/pure-ftpd-mysql_1.0.49-4_amd64.deb
2) Install packages
#dpkg -i xxx.deb xxx.deb xxx.deb xxx.deb
3) Restart pure-ftpd-mysql
#systemctl restart pure-ftpd-mysql
#systemctl restart pure-ftpd-mysql
Solution 2 Use FileZilla Client with earlier version (earlier than v3.40.0, such as 3.28 or 3.25).
FileZilla Client v3.28.0: https://download.filezilla-project.org/client/FileZilla_3.28.0_win64-setup.exe
FileZilla Client v3.25.2: https://download.filezilla-project.org/client/FileZilla_3.25.2_win64-setup.exe