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

Laravel Homestead可正常Ping通,但浏览器连接被拒绝求助

Laravel Homestead 连接被拒绝?试试这些排查步骤

我在Windows 10上搭好Laravel Homestead后,ping虚拟机IP完全正常,但浏览器访问项目时却一直提示连接被拒绝,看着配置都没问题就是找不到问题所在。先贴出我的Homestead.yaml配置:

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa
folders:
    - map: d:/DATA/SourceCodes/laravel
      to: /home/vagrant/code
sites:
    - map: myapp.test
      to: /home/vagrant/code/myapp/public
databases:
    - homestead

结合经验,这类"ping通但连不上"的问题大多是小细节没处理好,咱们一步步来排查:

1. 先确认本地hosts映射是否正确

Windows的hosts文件在C:\Windows\System32\drivers\etc\hosts,你得手动加一行:

192.168.10.10 myapp.test

注意编辑时要右键用管理员权限打开记事本/编辑器,不然保存会失败。改完后执行ping myapp.test,看返回的IP是不是192.168.10.10,要是不对就是hosts没生效。

2. 检查Homestead虚拟机状态

打开命令行进入Homestead目录,先跑homestead status看看虚拟机是不是running状态。如果没启动,执行homestead up,启动过程中盯紧控制台,有没有文件夹映射失败、Nginx配置报错这类信息——很多时候问题就藏在这里。

3. 验证Nginx站点配置和服务

用homestead ssh登录虚拟机,先去Nginx的站点配置目录看看:/etc/nginx/sites-available/myapp.test,打开文件确认root路径是不是/home/vagrant/code/myapp/public,有没有拼错目录名。

然后检查Nginx服务状态:sudo service nginx status,要是服务没运行就重启:sudo service nginx restart,重启时如果有报错,直接跟着报错信息排查就行(比如配置文件语法错误)。

4. 排查端口转发与防火墙

打开VirtualBox找到你的Homestead虚拟机,进入「设置」-「网络」,看看网卡1的端口转发规则有没有异常——不过Homestead默认是通过静态IP访问,一般不用端口转发,但也可以试试直接访问http://192.168.10.10,如果能打开,那就是域名解析的问题;如果还是不行,就得检查Windows防火墙了。

临时关闭Windows Defender防火墙或者第三方杀毒软件,再试试访问。要是能打开,记得把192.168.10.10和myapp.test加入防火墙白名单,避免后续拦截。

5. 确认项目目录权限

登录虚拟机后,进入/home/vagrant/code/myapp,执行ls -l看看目录权限。Nginx的运行用户是www-data,得确保它能读取项目文件,尤其是public目录。必要的话执行这两条命令修复权限:

sudo chmod -R 755 /home/vagrant/code/myapp
sudo chown -R www-data:www-data /home/vagrant/code/myapp/storage /home/vagrant/code/myapp/bootstrap/cache

这两个目录需要写入权限,权限不对也可能导致页面无法加载。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:08:12