由于工作需要搭建FTP服务器,小白着手研究了一下,搭建很简单,内网可访问也很简单,外网访问则困扰了我好久,寻求各种办法,终于得以解决,记录记录。
1.需要外网可访问,需要开设两个端口,如果是FTp默认端口的话,直接映射20-21端口即可;如果修改了端口,需要映射对应的2个端口,注意注意!
2.网上各种外网访问不到以及“227 Entering Passive Mode”,“访问不到目录”问题
这些问题都是因为端口的设置引起的,需要设置被动模式的端口范围,我采用了两种测试方法,都记录一下
(1)使用server-U,如图所示,服务器限制和设置——设置——网络设置,保存后重启服务即可
(2)使用IIS时,需要在根目录设置防火墙支持,设置数据通道端口范围,我这里设置的和主动模式的端口一致;在FTP服务器中设置IP外网地址,重启服务即可;
问题:访问文件目录列表时,中文乱码
解决:编码问题,设置读取时StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);