云服务器部署后访问不了怎么排查(常见原因TOP5)
个人开发者或小项目创业者在云服务器上部署完网站或应用后,常遇到“打不开”“连不上”的问题。这类情况通常不是服务器本身故障,而是配置或网络策略未就绪。
1. 安全组规则未放行访问端口
云服务器默认安全策略通常只允许极少数端口通信。若部署的是 Web 服务(如 Nginx、Apache),但未在安全组中放行 80 或 443 端口,外部请求会被直接拦截。
- 检查安全组入站规则是否包含目标端口(如 TCP:80)
- 确认规则来源 IP 是否覆盖你的访问来源(如 0.0.0.0/0 表示允许任意公网 IP)
- 注意:安全组规则按顺序匹配,上方的“拒绝”规则会覆盖下方的“允许”
若不确定当前配置是否正确,可临时放通测试端口验证连通性。配置细节请参考相关平台的官方活动页面:curl.qcloud.com/jEVGu7kK 或 www.aliyun.com/minisite/goods。
2. 服务进程未启动或未监听公网
即使代码部署完成,若 Web 服务未运行,或监听地址绑定为 127.0.0.1 而非 0.0.0.0,外部也无法访问。
- 通过 SSH 登录服务器,执行
netstat -tuln | grep :80检查端口监听状态 - 若无输出,说明服务未启动,需检查 Nginx、Apache 或自定义应用是否正常运行
- 若监听地址为
127.0.0.1:80,需修改配置文件绑定到0.0.0.0
常见于使用 Flask、Node.js 等框架时未显式指定 host 参数。
3. 服务器本地防火墙拦截请求
部分 Linux 系统默认启用 firewalld 或 iptables,即使安全组放行,本地防火墙仍可能阻断流量。
- CentOS/RHEL:执行
firewall-cmd --list-ports查看已开放端口 - 临时放行 80 端口:
firewall-cmd --add-port=80/tcp - Ubuntu/Debian:检查
ufw status,若启用需执行ufw allow 80
建议在确认服务可访问后,再精细化配置防火墙策略。
4. 域名解析或 DNS 配置错误
若通过域名访问失败,但 IP 可通,问题大概率出在 DNS。
- 使用
nslookup yourdomain.com或dig yourdomain.com检查解析结果是否指向服务器公网 IP - 确认 DNS 记录类型(A 记录)和 TTL 设置合理
- 部分本地网络缓存旧记录,可尝试更换 DNS(如 8.8.8.8)或清除系统缓存
新绑定域名后,全球生效可能需要几分钟至数小时,属正常现象。
5. 云服务器未分配公网 IP 或带宽为 0
部分云服务器实例默认不分配公网 IP,或公网带宽设置为 0 Mbps,导致无法从互联网访问。
- 登录控制台,确认实例详情中是否显示公网 IP 地址
- 检查网络带宽配置,若为“按使用流量”但未启用公网,需手动绑定弹性公网 IP
- 预付费实例需确认公网带宽是否已到期
若用于内网调用(如配合 CDN 或负载均衡),则无需公网 IP,但需确保访问路径正确。
FAQ
部署完网站用 IP 能打开,但域名打不开,怎么回事?
这通常说明 Web 服务正常,但域名未正确解析到服务器 IP,或 DNS 缓存未刷新。建议先用 ping yourdomain.com 确认返回 IP 是否匹配服务器公网地址。
安全组已放行 80 端口,但 telnet 公网 IP 80 仍不通?
可能原因包括:服务未监听、本地防火墙拦截、或服务器未绑定公网 IP。建议依次检查 netstat 监听状态、系统防火墙规则及控制台网络配置。
部署的是 HTTPS 服务,但浏览器提示不安全?
若使用自签名证书,浏览器会默认拦截。生产环境应配置由可信 CA 签发的 SSL 证书。部分云平台提供免费证书申请入口,可参考 www.aliyun.com/minisite/goods 或 curl.qcloud.com/jEVGu7kK 获取支持。
服务器能 ping 通,但网页打不开?
Ping 使用 ICMP 协议,而网页访问依赖 TCP 端口(如 80)。能 ping 通仅说明网络层可达,不代表应用层服务可用。需重点检查端口监听与安全组配置。
部署后访问返回 502 或 503 错误?
这类错误通常表示后端服务(如 PHP-FPM、Node.js 应用)未响应或崩溃。应检查应用日志、进程状态及资源使用情况(CPU/内存是否耗尽)。