You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在阿里云ECS部署Node.js应用遇浏览器连接超时问题排查求助

排查阿里云ECS Nginx反向代理Node.js应用浏览器访问超时的问题

我来帮你梳理下接下来需要重点排查的几个方向,毕竟服务器本地curl能正常响应,但外部浏览器访问超时,核心问题基本集中在网络连通性防火墙规则层面:

  • 阿里云ECS安全组规则检查
    这是最常见的原因!阿里云ECS的安全组相当于服务器的第一道防火墙,必须确保80端口的入方向规则是开放的。登录阿里云控制台,找到你的ECS实例,进入安全组配置页面,检查入方向是否添加了允许0.0.0.0/0(或指定你需要访问的IP段)访问TCP 80端口的规则。如果没有,立即添加并生效。

  • 服务器本地防火墙验证
    即使安全组开了端口,服务器本地的防火墙(比如iptablesfirewalld)也可能拦截80端口的外部请求:

    • 对于firewalld,执行命令查看已开放端口:firewall-cmd --list-ports,如果看不到80/tcp,就添加规则:firewall-cmd --add-port=80/tcp --permanent,然后重启防火墙:firewall-cmd --reload
    • 对于iptables,执行iptables -L查看规则,确认是否有允许80端口入站的规则,没有的话添加:iptables -A INPUT -p tcp --dport 80 -j ACCEPT,并保存规则(不同系统保存命令不同,比如service iptables save)。
  • 域名解析正确性验证
    确认你的mydomain.com是否正确解析到了ECS的公网IP。在本地电脑执行nslookup mydomain.comping mydomain.com,查看返回的IP地址是否和ECS实例的公网IP一致。如果解析错误,浏览器会请求到错误的服务器,自然超时。

  • Node.js监听地址确认(备选排查)
    虽然你本地curl能正常访问,但可以确认下Node.js应用的监听地址:当前你设置的是localhost:8080(即仅监听127.0.0.1),Nginx在本地代理没问题,但如果后续有其他配置变动,也可以尝试改为监听0.0.0.0:8080(允许所有网卡访问),不过这个大概率不是当前问题的原因。

  • Nginx运行状态与日志排查
    检查Nginx服务是否正常运行:systemctl status nginx,如果服务未启动,执行systemctl start nginx启动。同时查看Nginx的错误日志(默认路径/var/log/nginx/error.log),看看是否有代理过程中的异常信息,比如连接被拒绝、权限问题等,日志往往能给出关键线索。

  • 本地网络环境排查
    尝试切换到其他网络(比如手机热点)访问你的域名,或者在本地执行telnet 你的ECS公网IP 80,如果telnet无法连接,说明你的本地网络可能屏蔽了80端口,或者运营商层面有拦截。

内容的提问来源于stack exchange,提问作者John Smith

火山引擎 最新活动