阿里云服务器无法访问排查

阿里云服务器无法访问排查

  • admin admin
  • 2026-09-12
  • 2017
  • 0

阿里云服务器无法访问排查是指从安全组规则、系统防火墙、服务监听状态、网络配置、端口连通性、DNS解析、备案状态以及实例资源使用情况等维度逐项检查,定位服务器公网或内网无法访问原因的过程。检查安全组规则安全组是阿里云ECS实例的第一道虚拟防火墙,默认情况下入...

优惠价格:¥ 0.00
当前位置:首页 > 阿里云服务器租用托管 > 阿里云服务器无法访问排查
详情介绍

阿里云服务器无法访问排查是指从安全组规则、系统防火墙、服务监听状态、网络配置、端口连通性、DNS解析、备案状态以及实例资源使用情况等维度逐项检查,定位服务器公网或内网无法访问原因的过程。

检查安全组规则

安全组是阿里云ECS实例的第一道虚拟防火墙,默认情况下入方向大部分端口未放行,若服务器突然无法访问,首先应登录阿里云控制台,进入ECS实例详情页,查看实例所属安全组。

在入方向规则中确认是否放行了对应端口,例如Web服务需要放行80和443端口,SSH远程连接需要放行22端口,数据库服务如MySQL通常需要放行3306端口,如果使用自定义端口,也要检查该端口是否存在放行规则。

阿里云服务器无法访问排查  第1张

授权对象应设置为当前访问来源IP、IP段或0.0.0.0/0,若授权对象过窄,例如只允许某个固定IP访问,而当前访问IP发生变化,则会出现连接失败,还要检查规则优先级,阿里云安全组规则优先级数值越小越先生效,可能存在优先级更高的拒绝规则拦截了访问请求。

出方向默认全部放行,但如果曾经添加过出方向自定义限制规则,也要检查是否阻止了服务器主动发起的返回流量,修改安全组规则后通常立即生效,若仍无法访问再继续排查下一项。

检查系统防火墙

安全组放行后,服务器操作系统自带的防火墙仍可能拦截访问,Linux系统常见防火墙包括firewalld、ufw和iptables。

对于CentOS或Alibaba Cloud Linux系统,可执行systemctl status firewalld查看firewalld运行状态,若防火墙处于运行状态,需要确认对应端口是否已放行,可执行firewall-cmd --list-ports查看已放行端口,临时测试时可执行systemctl stop firewalld关闭防火墙,但生产环境不建议直接关闭,应通过添加放行规则解决。

对于Ubuntu系统,可执行ufw status查看防火墙状态,若显示active,可执行ufw allow 80/tcp放行端口,或执行ufw disable临时关闭测试。

iptables规则可通过iptables -L -n查看,有时以前添加的规则在重启后仍然生效,但可能限制了新的访问来源,确认INPUT链中是否存在对目标端口的ACCEPT规则,以及是否存在全量DROP或REJECT规则导致后续放行无法匹配。

Windows系统则需要检查Windows Defender防火墙的入站规则,确认对应端口或程序已被允许访问。

确认服务监听状态

安全组和系统防火墙都放行后,仍无法访问的原因很可能是服务本身没有正常运行,或监听地址不正确。

在服务器内部执行netstat -tlnpss -tlnp查看当前正在监听的TCP端口,若目标端口没有出现在列表中,说明服务未启动或未监听该端口,例如Nginx未启动时,80端口不会出现在监听列表中。

还需注意监听地址,若服务只监听127.0.0.1,则外部无法直接访问,只有服务器本机可以访问,应将服务配置为监听0.0.0.0或服务器内网IP,例如Nginx配置文件中listen 127.0.0.1:80;会导致外部访问失败,应改为listen 80;listen 0.0.0.0:80;

可在服务器内部执行curl http://127.0.0.1测试本地访问,如果本地可以打开但外部无法访问,通常说明服务本身正常,问题可能集中在网络或安全配置,如果本地也无法访问,则需要查看服务状态和日志,例如systemctl status nginxsystemctl status httpd或对应应用的日志文件。

检查网络与路由配置

如果安全组、防火墙和服务监听均正常,需要检查服务器网络状态,首先确认实例是否绑定了公网IP,如果之前使用的是弹性公网IP,可能因解绑或到期导致公网无法访问,控制台中可查看实例是否仍有公网IP地址,以及带宽是否被设置为零或已用尽。

欠费会导致部分资源被冻结,实例可能被停机或释放,需确认账号余额和实例状态,若实例处于已停止状态,需要先启动实例再测试访问。

对于VPC网络类型实例,还需检查VPC路由表和交换机关联的网络ACL,网络ACL是子网级别的访问控制,如果存在拒绝规则,也会导致流量无法到达实例。

在系统内部可执行ip route查看默认路由是否正确,若默认网关缺失或指向错误,服务器无法正常回包,表现为外部访问超时,还可以检查/etc/resolv.conf中的DNS配置,DNS解析异常会影响域名访问,但直接使用IP访问不受影响。

排查端口连通性

从本地客户端测试端口连通性是定位问题的重要手段,可使用telnet 服务器IP 端口命令,若提示连接失败或超时,说明流量未到达服务端口,也可使用nc -vz 服务器IP 端口快速测试。

在服务器内部执行同样的测试命令,例如telnet 127.0.0.1 80nc -vz 127.0.0.1 80,可以判断服务是否在本地可连,若本地可连而外部不可连,问题通常在安全组、系统防火墙或网络链路,若本地也不可连,问题通常出在服务本身。

阿里云控制台提供网络诊断工具,可对实例的端口连通性进行检测,诊断结果会提示安全组、防火墙、网络类型等环节是否存在异常。

部分端口可能被运营商或云平台限制,例如25端口默认被封禁,用于邮件服务的服务器需要申请解封,国内云服务器使用域名提供Web服务时,如果域名未完成ICP备案,80和443端口可能被拦截,导致无法通过域名访问。

检查域名解析与备案

当通过域名无法访问服务器,但通过IP可以正常访问时,应重点检查域名解析,使用ping 域名nslookup 域名确认域名解析结果是否指向当前服务器IP,如果解析记录错误,需要到DNS服务商处修改A记录或CNAME记录。

本地DNS缓存也可能导致解析结果未及时更新,可执行ipconfig /flushdns刷新Windows本地DNS缓存,或在浏览器中强制刷新。

国内服务器提供Web服务必须完成ICP备案,未备案域名访问80或443端口时,请求可能被阿里云或运营商拦截,即使域名已备案,也需要确认备案信息中的接入商是否为阿里云,如果使用其他服务商备案但服务器在阿里云,可能需要办理接入备案,否则可能被拦截。

如果使用CDN、负载均衡或高防IP等中间层产品,域名解析通常指向中间层产品地址,而不是直接指向ECS实例,此时需要检查CDN或负载均衡产品本身的安全策略、回源配置和实例健康检查状态。

检查实例资源与运行状态

服务器CPU使用率过高、内存耗尽或磁盘写满都可能导致服务无响应,表现为连接超时或502错误,登录控制台查看实例监控数据,确认CPU、内存、磁盘IO和带宽使用情况,如果CPU长期处于100%,需要查看系统内部进程,执行tophtop定位占用资源的进程。

磁盘空间满可用df -h检查,若根分区使用率达到100%,服务可能无法写入日志或临时文件,导致异常,清理无用日志和临时文件后可恢复。

系统日志中可能存在异常记录,可查看/var/log/messages/var/log/syslogdmesg输出,若服务器遭受分布攻破,阿里云可能触发黑洞策略,暂时屏蔽所有公网访问,控制台安全通知中会有提示。

重启实例可以临时恢复部分故障,但如果未定位根因,问题可能再次出现,重启前应尽量保存系统日志和应用日志,便于后续分析。

其他常见排查点

SSH连接失败时,除了检查22端口安全组和防火墙规则,还需确认SSH服务是否运行、SSH配置文件是否允许密码登录、密钥是否正确,如果曾安装fail2ban等防护工具,可能会自动封禁连续失败登录的IP,可查看fail2ban状态并解封。

SELinux在部分Linux发行版中默认启用,可能阻止服务绑定端口或访问文件,执行getenforce查看当前状态,如果为Enforcing,可临时执行setenforce 0进行测试,确认是否由SELinux导致访问异常。

服务监听的TCP连接数达到上限也会导致新连接无法建立,可通过ss -s查看当前连接统计,检查应用配置中的连接数限制和系统内核参数net.ipv4.tcp_max_syn_backlognet.core.somaxconn等是否过小。

最后还应检查阿里云控制台是否有未处理的运维通知、安全告警或定时任务导致实例状态变化,部分自动快照、镜像复制或实例规格变更操作也可能短时间影响网络访问。

0