Proftpd 服务器:服务器不支持非 ASCII 字符

Proftpd 服务器:服务器不支持非 ASCII 字符

我已将 FTP(运行 proftpd)服务器从 Ubuntu 18.04 移至 Ubuntu 20.04 服务器,现在连接时出现问题。连接日志中有一行内容:

"Status: Server does not support non-ASCII characters."

并且所有包含非 ASCII 字符的文件和文件夹都无法下载。

我可以通过将我的 FTP 客户端(例如 FileZilla)设置为明确使用 UTF-8 来修复此客户端站点,但对于连接到 FTP 的其他人来说,问题仍然存在。

proftpd-basic/focal,now 1.3.6c-2 amd64 [installed,automatic]
proftpd-doc/focal,now 1.3.6c-2 all [installed,automatic]
proftpd-mod-mysql/focal,now 1.3.6c-2 amd64 [installed]

有人知道导致此错误的原因是什么以及如何修复它吗?

答案1

好的,我找到了解决这个问题的方法!

MultilineRFC2228 off

下面是关于 mod_core 的部分文档:

问题:当我使用 FileZilla 连接到 ProFTPD 时,我看到 FileZilla 记录以下警告:

状态:服务器不支持非 ASCII 字符。即使我使用了 --enable-nls 构建选项,并且我的 ProFTPD 支持 UTF8。哪里出了问题?

答案:FileZilla 解析 FEAT 响应以确定 FTP 服务器是否支持 UTF-8 编码。但是,FEAT 响应的格式可能会混淆 FileZilla 的检测代码。例如,如果您的 proftpd.conf 使用:

MultilineRFC2228 开启

这导致 ProFTPD 的 FEAT 响应格式与 FileZilla 预期的不同,从而导致上述“不支持非 ASCII 字符”消息。

解决方案是使用:

MultilineRFC2228 关闭

在您的 proftpd.conf 中(或者干脆完全删除该指令)。

答案2

这意味着服务器仅支持 sftp,而您正在尝试使用纯文本 ftp。请改用 sftp。例如,在 Filezilla 中,主机将是 sftp://<servername.com>

相关内容