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

Homestead环境下运行npm run watch时localhost:3000返回502错误如何排查

排查步骤

  1. 检查Browsersync配置
    打开项目根目录下的webpack.mix.js,找到browsersync配置项,确认proxy参数的值为你Homestead绑定的站点域名myproject.test,不要配置为127.0.0.1:8000或者其他地址:
mix.browserSync({
    proxy: 'myproject.test',
    // 如果是在虚拟机内运行npm run watch,需要添加下面这行允许外部访问
    host: '0.0.0.0',
    // 端口被占用时可以手动指定其他端口
    port: 3000
})

修改配置后重新执行npm run watch测试。

  1. 检查本地3000端口占用
    本地执行命令查看3000端口是否被其他进程占用:
  • Windows系统:netstat -ano | findstr "3000"
  • Mac/Linux系统:lsof -i:3000
    如果有其他进程占用3000端口,终止占用进程,或者在browsersync配置中修改port参数换用其他未被占用的端口。
  1. 检查Homestead端口转发配置
    打开Homestead根目录下的Homestead.yaml,确认端口转发规则中包含3000端口的转发配置:
ports:
    - send: 3000
      to: 3000

修改配置后执行vagrant reload --provision重启虚拟机生效。

  1. 检查本地hosts配置
    确认本地hosts文件中已经添加了myproject.test指向Homestead虚拟机IP的配置,默认Homestead虚拟机IP为192.168.10.10,配置格式如下:
192.168.10.10 myproject.test

问题原因说明

127.0.0.1:8000是php artisan serve在本地直接启动的PHP内置服务,myproject.test是Homestead的Nginx转发到虚拟机内Laravel应用的正常站点地址,二者都不依赖Browsersync服务。而localhost:3000是Browsersync启动的代理服务,需要将请求转发到后端配置的站点地址,当代理配置错误、网络不通、端口被占时,就会返回502 Bad Gateway错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:39:02