localhost 访问异常排查笔记

localhost 访问异常排查笔记

背景场景

本地跑 npm run dev(vite),手机通过局域网 IP 能正常访问 H5 页面,但 PC 浏览器访问 http://localhost:端口 报错(如 ERR_HTTP_RESPONSE_CODE_FAILURE)。


核心知识点:localhost 和 127.0.0.1 不是完全一样的

  • 127.0.0.1:IPv4 回环地址,唯一、明确
  • localhost :是一个域名,系统解析时可能指向 127.0.0.1(IPv4)或 ::1(IPv6)。现代系统(尤其是 Windows + Chrome 组合)通常优先走 IPv6

为什么会踩坑

如果电脑上有旧的/残留的进程 占用了同一端口的 IPv6 地址(::1:端口),而新启动的服务虽然也监听了这个端口,系统仍可能把 localhost 优先解析到那个卡住的旧进程上,导致:

  • 用 IP 地址(127.0.0.1 或局域网 IP)访问 → 正常
  • 用 localhost 访问 → 报错(连接到了状态异常的旧进程)

排查步骤

1. 查端口占用情况(Windows)

cmd 复制代码
netstat -ano | findstr 端口号

关注点:同一个端口是否出现两个不同的 PID

正常情况应该只有一组 PID,类似:

复制代码
TCP    0.0.0.0:5173     0.0.0.0:0    LISTENING    27148
TCP    [::]:5173        [::]:0       LISTENING    27148

如果出现这种情况,说明有旧进程残留:

复制代码
TCP    [::1]:5173       [::]:0       LISTENING    7360   ← 单独占了 IPv6 loopback 的旧进程

2. 定位到具体是哪个进程

cmd 复制代码
tasklist | findstr 7360

确认这个 PID 是不是之前忘记关掉的旧 vite 进程。


解决办法

临时方案(当下能用就行):

直接改用 http://127.0.0.1:端口/ 访问,绕开 IPv6 解析问题。

根治方案:

cmd 复制代码
taskkill /PID 旧进程ID /F

杀掉残留的旧进程,释放端口,之后 localhost 也能正常访问。


什么时候容易踩到

  • 用 VS Code 集成终端反复开关多个终端窗口跑 npm run dev,容易忘记关掉旧的
  • 切换分支 / 改完 vite.config.ts 或 .env 文件后重启服务,没有先确认旧进程真的退出

顺带提醒

vite.config.ts 和 .env.development / .env.production 这类配置文件的修改,vite 不会自动热更新 ,必须手动 Ctrl+C 停掉后重新 npm run dev 才会生效。

相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万2 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95273 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大3 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师3 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端