阿里云专有网络FTP上传的一个小问题。

    前二天阿里云主机续费了,因为发现续费的价格和新够机价格差距很大,所以就退费后,重新够了一台新的,而因为以前的机器是经典网络,现在的是专有网络,移植数据和程序的时候出了很多问题,基本都是因为因为安全组引起的原因,以及ftp上传也是这个原因,但是还需要将ftp的工具类改变一个模式才行,下面会说明。

    默认安全组只配了一个22和33XX(远程登录)

    我们需要在入模式中(出模式就是你拿服务器去访问别人,默认全开的。)增加下面一些端口的配置。ip是基于子网的写法,比如120.22.22.0/24 ,120.22.22.3/32, 120.22.0.0/16, 0.0.0.0/0 ,依次是前3个开头,唯一一个,前2个开头,任意ip。

    端口的写法是: 80/80 或 80/81

    需要放开的常见端口有:

            80/80  (http)

            8080/8099  (tomcat)

            20/21    (ftp)

            1024/65535 (ftp开的随机端口)

            6379/6379 (redis)

            443/443 (https)

            22/22 (ssl 默认就有) 

            3389/3389 (远程登录端口默认就有)

            3306/3306 (mysql)

            1521/1521(oracle)

    在配置好安全组后,数据库和web程序都可以外部访问了,唯一就是FTP移植后没有测试(备注:ftp服务在经典网络的主机上,需要用ftp客户端代码访问文件的是在专有网络上,即这台新机器上),造成线上运行后别人一个付费下载的功能无法下载,急的我要跳,紧急把价格调为0.1元后,放开ftp的2个端口设置,还是有问题,百度解决方案,无非就是安全组打开这2个端口。而由于Ftp有2种模式,默认是主动模式,和一个被动模式ftp.enterLocalPassiveMode(),而恰恰巧合的是,我的工具类中部分设置了这个,部分方法没设置这个,于是我就开始认为设置这个不能解决问题。最后,没解决办法,仔细检查才发现的。但是感觉解决问题解决的稀里糊涂的。

      被动模式肯定能解决,我是知道的,因为以前在本地写一个处理程序处理图片的时候就发现了,而被动模式是服务器开随机端口,客户端去访问这个随机端口建立连接,这样就算客户端不是公网也能访问,何况只是多了一个类似于防火墙的安全组。

       我不明白的是,采用主动模式,首先测试的公网环境(经典网络)能够访问的,就说明,不是ftp服务端设置的问题,而主动模式是服务端用20和客户端的随机端口建立连接,客户端即这个新机器的随机端口已经放开,但是依旧不能够连通。

        不明白什么原因,还是百度这个主动模式被动模式的解释有问题,又或者阿里云的1024/65535这个不起作用或其他什么限制(因为我看安全组文档 -1/-1 全部端口的设置就是无效的。)

猜你喜欢

转载自blog.csdn.net/shuixiou1/article/details/80386721