阿里云海外服务器国际端口不稳定,远程总是连不上
连不上,大多原因是网络问题。
首先,判断是不是机房网络问题,可以尝试访问其他网站,排除本地线路故障。
其次,针对云服务器IP做路由测试,追踪是不是线路路由中间节点问题,进一步确认是否机房线路问题。
最后,大致可以锁定是机房线路问题,需要联系对方技术人员协助解决。
当然,连不上还有2种情况,一种是系统设置问题,由于系统某个软件设置导致或设置了远程端口号都有可能连不上。另一种是本地问题,如果本地做有策略无法使用远程。
阿里云用的是自己生产的服务器,十五年前,马云重用王坚,建设自己的云服务团队,开始布局。十年之后,成就自家的云网络。现在,自家服务器已经落成,正式启用。
服务器技术原理
NAT即网络地址转换技术,是实现弹性公网IP的基础。
NAT地址转换将私网的地址映射到一个公网的地址,形成一对多的关系。内网与外网通信时,NAT路由器(大部分的路由器支持该功能,包括家庭使用的无线路由器和光猫)将本地的IP转换成公网的IP地址。
NAT网络地址转换的核心是一张表(源IP地址,源端口号,NAT IP地址,NAT IP端口号)。
利用公有云(比如阿里云、腾讯云、华为云等)部署了应用之后,为了访问申请的云服务器,需要使用公网IP,公有云服务商不仅提供了固定的公网IP,更多采用的是弹性公网IP。
其实现在阿里云的就是万网的,你上面贴出来的也是万网的,之前阿里云的也可以这样pop3mailaliyuncom, smtpmailaliyuncom,POP和IMAP只要一个就可以了,IMAP协议是客户端和WEB页面同步的,在一个上删除邮箱,另一个上面也显示被删除,POP是相互独立的,客户端和WEB页面互不影响
1、解决方案:
ftp默认模式为被动模式,开启一个随机端口建立连接。需要把内网端口限制打开,
如果是通过硬件防火墙,将防火墙开启ftp随机端口就可以了
2、两种方式的工作原理:
主动模式:
Port模式FTP 客户端首先和FTP服务器的TCP
21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。
PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP
server必须和客户端建立一个新的连接用来传送数据。(可以看到在这种方式下是客户端和服务器建立控制连接,服务器向客户端建立数据连接,其中,客户端的控制连接和数据连接的端口号是大于1024的两个端口号(临时端口),而FTP服务器的数据端口为20,控制端口为21)
被动模式:
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个临时端口(也叫自由端口,端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP
server不再需要建立一个新的和客户端之间的连接。(可以看到这种情况下的连接都是由客户端向服务器发起的,与下面所说的“为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式”相对应,而服务器端的数据端口是临时端口,而不是常规的20)
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP
20无法和内部网络的客户端建立一个新的连接,造成无法工作。
主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
当我们执行下面的hellopy时,使用的flask自带的服务器,完成了web服务的启动。在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序。Gunicorn(绿色独角兽)是一个Python WSGI的HTTP服务器。从Ruby的独角兽(Unicorn )项目移植。该Gunicorn服务器与各种Web框架兼容,实现非常简单,轻量级的资源消耗。Gunicorn直接用命令启动,不需要编写配置文件,相对uWSGI要容易很多。
区分几个概念 :
WSGI:全称是Web Server Gateway Interface(web服务器网关接口),它是一种规范,它是web服务器和web应用程序之间的接口。它的作用就像是桥梁,连接在web服务器和web应用框架之间。
uwsgi:是一种传输协议,用于定义传输信息的类型。
uWSGI:是实现了uwsgi协议WSGI的web服务器。
我们的部署方式: nginx + gunicorn + flask
web开发中,部署方式大致类似。简单来说,前端代理使用Nginx主要是为了实现分流、转发、负载均衡,以及分担服务器的压力。Nginx部署简单,内存消耗少,成本低。Nginx既可以做正向代理,也可以做反向代理。
正向代理 :请求经过代理服务器从局域网发出,然后到达互联网上的服务器。
特点 :服务端并不知道真正的客户端是谁。
反向代理 :请求从互联网发出,先进入代理服务器,再转发给局域网内的服务器。
特点 :客户端并不知道真正的服务端是谁。
区别 :正向代理的对象是客户端。反向代理的对象是服务端。
查看命令行选项 : 安装gunicorn成功后,通过命令行的方式可以查看gunicorn的使用信息。
直接运行 :
指定进程和端口号 : -w: 表示进程(worker)。 -b:表示绑定ip地址和端口号(bind)。--access-logfile:表示指定log文件的路径
作为守护进程后台运行 :
阿里云服务器默认安装到 /user/sbin/ 目录,进入目录,启动 ngnix:
Ubuntu 上配置 Nginx 也是很简单,不要去改动默认的 nginxconf 只需要将/etc/nginx/sites-available/default文件替换掉就可以了。
新建一个 default 文件,添加以下内容:
修改完成后重启nginx即可。
Ubuntu 上配置 Nginx 另一种方法,cd 到 /etc/nginx/confd 文件夹,新建 xxxconf 文件(xxx 可以是项目名,只要是 conf 文件即可),写入以下内容:
需要监听 https 请求时,写入以下内容:
2windows firewall
Ctrl+r > wfmsc > 点Inbound Rules(或叫入站规则) 就会弹出下面的窗口
点右上角的 New Rule(新建规则)
之后在弹出的窗口选Port(端口)点下一步
选择一个协议,一个要开启的端口号点下一步
到了这一步有三个选项,第一个为允许连接,第二个没用过,第三个为阻碍连接,你要开启就选第一个点下一步。
以后选择应用到那种类型的防火墙,直接默认下一步
为规则命名后可以完成新建
在中间的规则表中可以找到
当然,防火墙开启端口最直接的就是关闭防火墙了
对于防火墙,你要知道,入站规则限制的 是外面来自网络的访问本机服务的主机
出站规则限制的 是你自己安装服务的本机
3对于一个服务使用的端口,在上面的两个东西中都必须开启
如果只是自己要开启的端口,可以只在防火墙中开启
楼下说的命令是关于防火墙的,这个是高级应用,按微软出SERVER CORE 版本的系统看,命令配置服务器也是微软未来的趋势,这个也必须掌握。
答者也是小白,命令不太会啊,就不说了。
万云数据云服务器供应商提供答案,希望对你有帮助。
1Windows可以在cmd窗口下输入命令:netstat -abn查看端口监听情况和对应的进程。
2如果是linux,请输入命令:netstat -apn查看。
希望可以帮到你!
在windows 2000/xp/server 2003服务器版本中要查看端口,可以使用netstat命令:
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。
在命令提示符状态下键入“netstat -a -n”,
按下回车键后就可以看到以数字形式显示的tcp和udp连接的端口号及状态。
开启端口,如果要开启该端口只要先在“启动类型”选择“自动”,
单击“确定”按钮,再打开该服务,
在“服务状态”中单击“启动”按钮即可启用该端口,
最后,单击“确定”按钮即可。
25端口:25端口为smtp(simple mail transfer protocol,简单邮件传输协议)服务器所开放,主要用于发送邮件,如今绝大多数邮件服务器都使用该协议。
0条评论