故障描述
使用FTP上传文件时,写入文件或者传输文件失败。
约束与限制
本文档适用于服务端为Windows系统上的FTP服务。
故障原因
弹性公网IP与内网IP是通过NAT方式绑定的,因此本地访问弹性云主机时,客户端是通过被动模式连接服务端的,在这种情况下,服务端的IP地址无法从路由器外部访问,所以需要在服务端的对外IP中填写此弹性云主机分配的公网IP,同时设置数据传输端口范围来限制需要通过路由器转发的端口数量。
解决步骤
-
检查FTP服务的地址是否填写正确
点击“ 服务器管理器 -> 工具 -> Internet Information Services(IIS)管理器” ,然后选择左边栏点击“ 网站” 。首先查看建立的FTP绑定的IP是否填写的是内网IP,类型为FTP。图1 查看FTP所绑定的IP
-
检查服务端的FTP防火墙支持配置
展开“ 网站” ,会显示建立的FTP服务,双击右侧的FTP防火墙支持。图2 FTP防火墙支持
数据通道端口范围需要填写1024-65535范围内的,比如20000-20045。
防火墙的外部IP地址这一栏需要填写分配到的 公网IP 。 -
检查安全组设置
点击“ 控制中心 -> 服务列表 -> 弹性云主机” ,选择对应的可用区,然后再展示出来的弹性云主机列表里选择需要的弹性云主机,然后双击这个弹性云主机,即可打开详情页面。在下方选择“ 安全组” ,然后查看详细的安全组配置,是否在入方向里已经正确配置了端口21和上面配置的数据通道端口这两条。图3 安全组配置
-
在客户端测试
一种方法是使用FileZilla填写弹性云主机的公网ip,FTP的用户名和密码,端口填写21。另一种方法是访问ftp://弹性云主机公网ip:服务端的端口(如果不填为21),然后在弹出的对话框里输入FTP的用户名和密码。