使用 FileZilla 软件连接 ftp 失败,报错:“服务器发回了不可路由的地址,使用服务器地址代替”,具体信息如图:

产生这种错误的原因一般是服务器使用的宝塔面板,而宝塔面板将FTP被动模式端口范围设置成了39000-40000,而一般服务器默认安全组默认是不开放这些端口的。

解决方法有两个:一是开放服务器对应的端口、二是将被动模式改为主动模式。

第一种解决办法:由于宝塔把FTP被动模式端口范围设置成了39000-40000,所以只需要将云服务器上相应的端口范围开放即可。这里以阿里云为例:

第二种解决办法:更改Filezilla设置,编辑 -> 设置 -> 连接-FTP-被动模式,将「使用服务器的外部IP地址来代替」改为「回到主动模式」。

进入宝塔(BT)面板,依次点击软件管理 -> pure-ftpd 1.0.49 -> 配置修改,搜索「ForcePassiveIP」,定位到下图位置:

去掉ForcePassiveIP前面的注释符号,并把后面的IP地址修改为服务器的外网IP地址,保存配置后重载配置或者重启服务生效。这样设置后FileZilla就不会在提示「服务器发回了不可路由的地址,使用服务器地址代替。」