现象
服务器内部执行 curl 或 ping 外网地址正常,说明出网通畅。但从外部浏览器或 curl 访问服务器 IP 或域名时,连接超时或拒绝连接。此时需排查入站路径上的拦截点。
原因
外网访问受阻通常由三层控制引起:1. 云平台安全组未开放对应端口;2. 操作系统防火墙(如 firewalld、ufw 或 Windows 防火墙)拦截了入站请求;3. 应用程序未监听公网 IP(仅监听 127.0.0.1)或端口配置错误。
先自查(3 分钟)
登录服务器,确认服务状态和监听地址。若监听地址为 127.0.0.1,则外部无法访问,需改为 0.0.0.0 或公网 IP。
执行以下命令查看监听状态(Linux):
ss -tlnp | grep -E '80|443'
若输出中地址列为 127.0.0.1:80,说明仅本地可访问。若为 0.0.0.0:80 或 :::80,说明监听正常,需继续排查防火墙和安全组。
解决步骤
第一步:检查并修改应用监听地址。以 Nginx 为例,编辑配置文件,将 listen 指令修改为 0.0.0.0 或移除具体 IP 限制。
sudo nano /etc/nginx/sites-available/default
找到 listen 127.0.0.1:80; 并修改为 listen 80; 或 listen 0.0.0.0:80;,保存后重启 Nginx。
sudo systemctl restart nginx
第二步:配置系统防火墙。Linux 系统需放行对应端口。Ubuntu/Debian 使用 ufw:
sudo ufw allow 80/tcp
CentOS/Rocky Linux 使用 firewalld:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
注意:修改防火墙规则前,请确认只放行必要端口,避免开放过多端口导致安全风险。Windows Server 需在“高级安全 Windows 防火墙”中创建入站规则,允许 TCP 80/443 端口。
第三步:检查云平台安全组。登录奇异互动会员中心,进入云服务器详情页,检查安全组规则是否允许外部 IP 访问 80/443 端口。若未开放,需添加入站规则,源地址设为 0.0.0.0/0(或指定 IP 段),协议为 TCP,端口为 80/443。
验证
从外部网络使用 curl 或浏览器访问服务器 IP。若返回页面内容或 HTTP 状态码 200,说明问题已解决。若仍不通,检查 DNS 解析是否指向正确 IP。
curl -I http://your-server-ip
若返回 HTTP/1.1 200 OK,则验证通过。若返回连接超时,重新检查安全组和防火墙规则。
预防
1. 部署应用时,默认监听 0.0.0.0 而非 127.0.0.1;2. 防火墙和安全组规则保持最小化原则,仅开放业务所需端口;3. 定期备份防火墙配置和应用配置文件,便于快速恢复;4. 使用监控工具监控端口状态,及时发现服务异常。
在奇异互动如何最快处理
若自查后仍无法解决,请登录奇异互动会员中心,进入“云服务器”详情页,使用“VNC 控制台”直接登录系统排查网络配置,或通过“重启”功能尝试恢复服务状态。若怀疑是云平台底层网络问题,请提交工单,选择“云服务器”产品,附上服务器 ID、故障时间、已执行的排查步骤(包括安全组截图、防火墙命令输出、监听地址检查结果),以便工程师快速定位问题。

