症状:通过SERV-U设置FTP服务器,在本地用127.0.0.1能正常登录
公网登录提示输入用户名密码,能通过验证,然后就无法访问
CuteFtp错误:
......
COMMAND:> PASV
227 Entering Passive Mode (222,35,*,*,6,9)
COMMAND:> LIST
STATUS:> Connecting FTP data socket 222.35.*.*:1545...
150 Opening ASCII mode data connection for /bin/ls.
ERROR:> Can't read from data socket. Socket error = #10054.

原因:windows2003默认禁止一般用户通过外网连接,所以必须采用PASV模式访问FTP
配置: 配置FTP服务器的PASV端口范围,最好在1024以上,如3001-3009 『因为默认是0-0,所以大部分都是这个原因登不上』。
本地连接》常规选项卡》属性》选择TCP/IP,点击"属性"》点击"高级"》选项,选择TCP/IP筛选,点"属性"》
如果是全部允许了就不管,如果是选择了"只允许",把你FTP端口和刚才的PASV端口都加上。
防火墙:把FTP端口、PASV端口范围、server-U程序都添加到"例外"

这样就基本上可以访问了,如果还不行,请检查你的FTP服务器配置和Windows的安全策略设置


另外再加上一个FTP客户端显示中文乱码问题,以备用:

打开SERV-U---导航---限制和设置---FTP设置---找到OPTS UTF8 命令----编辑----选择禁用命令---然后确认

再选择全局属性-----高级选项---找到"对所有已收发的路径和文件名使用UTF-8编码",把前面的勾去掉,确认。