浏览器打开本地页面,直接甩出一行:由于目标计算机积极拒绝,无法连接。
这是 Windows 套接字的 10061 错误,WSAECONNREFUSED。意思是 TCP 请求到达了对端,对方明确回了 RST,说明那台机器是通的,只是那个端口没有程序监听,或者被防火墙拒了。它和连接超时不是一回事,超时通常是网络不通或者包被丢掉了。
先确认服务有没有起来
在服务器上执行 netstat -ano | findstr :8080,看端口是不是 LISTENING。没有就是服务没启动、启动失败,或者只绑定了 127.0.0.1。查日志比反复刷新浏览器有用,端口写错、配置没加载,日志里一般都能看出来。端口被占用导致启动失败,也会表现成连不上,去日志里搜 Address already in use。Linux 上换成 ss -lntp,输出更直观,需要 root 才能看到进程名。
本机访问的常见坑
- 用 localhost 访问时系统可能优先走 IPv6 的 ::1,服务只监听 127.0.0.1 就拒绝连接,换成 127.0.0.1 试试。
- 开了代理软件,请求被转发到代理端口,关掉代理或者把本地地址加入例外。
- Docker 容器没做端口映射,宿主机连不上,用 docker ps 看端口那一列。
- 服务绑定地址写成了内网 IP,换网络后 IP 变了,监听也就失效了。
远程访问怎么排查
先在客户端执行 telnet 服务器IP 端口,不通再回服务器上查。服务器自己能连自己、客户端连不上,重点看防火墙和安全组。云服务器的安全组规则要单独放行,系统防火墙开了也没用。Windows 防火墙的入站规则默认拦陌生端口,新建规则时协议和端口别选错。最后确认监听地址是 0.0.0.0,不是 127.0.0.1。
还有一类是端口对不上:前端连 3000,后端起在 8080,配置改了一半。把请求地址、端口、协议逐项对一遍,比猜快。
再看到由于目标计算机积极拒绝,无法连接,先查服务监听的端口,不要一上来就重装环境。多数情况十分钟能定位,剩下的时间够把日志看完。