You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt3+Vite+Docker+Nginx环境net::err_empty_response报错求助

Nuxt3 + Nginx反向代理下HMR异常问题解决

针对你遇到的每秒net::ERR_EMPTY_RESPONSE报错、端口映射后页面持续重载的问题,核心原因是HMR的WebSocket请求未正确通过Nginx代理,以及Nuxt未正确识别前端实际访问的端口。以下是具体解决步骤:

1. 调整Nuxt3配置

修改项目根目录的nuxt.config.ts,直接在Nuxt配置里指定Vite的HMR参数,无需单独创建vite.config.js:

export default defineNuxtConfig({
  vite: {
    server: {
      hmr: {
        clientPort: 80, // 前端实际访问的端口(Nginx监听的80端口)
        protocol: 'ws',
        host: 'localhost'
      }
    }
  }
})

这里的关键是让Nuxt知道,前端是通过80端口访问的,HMR的WebSocket请求要指向80端口,而非Nuxt服务本身的3000端口。

2. 修正Nginx反向代理配置

在Nginx的server块中,新增专门处理HMR WebSocket请求的location,同时确保常规请求的代理配置正确:

server {
  listen 80;
  server_name localhost;

  # 处理页面静态资源和普通请求,转发到Nuxt的3000服务
  location / {
    proxy_pass http://localhost:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }

  # 关键:代理HMR的WebSocket请求,必须配置HTTP/1.1和升级头
  location /__vite_hmr {
    proxy_pass http://localhost:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }

  # 处理API请求,转发到你的PHP服务端口(示例为9000,根据实际修改)
  location /api {
    proxy_pass http://localhost:9000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

3. 问题根源说明

  • 之前固定Vite端口3000但未配置HMR的clientPort,导致HMR请求直接尝试连接3000端口,要么被Nginx拦截出现空响应,要么端口映射错误触发循环转发,导致页面持续重载。
  • 参考GitHub issue时未配置WebSocket的升级头,HMR握手失败后页面会不断尝试重新连接,引发持续重载。

4. 验证步骤

  1. 重启Nginx:sudo nginx -s reload
  2. 重启Nuxt开发服务:npx nuxi dev
  3. 打开浏览器控制台,切换到Network的WS标签,确认ws://localhost/__vite_hmr连接成功,无报错。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:10:17