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

Vagrant环境中运行Django服务后浏览器无法访问求助

Vagrant中Django服务启动正常但本地访问被拒绝的解决方法

问题场景

在Vagrant虚拟机内执行python manage.py runserver 0.0.0.0:8080启动Django开发服务器,日志显示服务正常运行,但本地Chrome浏览器访问127.0.0.1:8080时提示连接被拒绝。

排查与解决步骤

1. 配置Vagrant端口转发

Vagrant默认不会自动将虚拟机端口映射到宿主机,必须手动配置:

  • 打开项目根目录的Vagrantfile
  • 添加端口转发规则:
    config.vm.network "forwarded_port", guest: 8080, host: 8080
    
    (guest是虚拟机内的端口,host是宿主机要映射的端口,保持一致即可)
  • 执行vagrant reload重启虚拟机,使配置生效

2. 检查虚拟机防火墙设置

虚拟机的防火墙可能拦截了8080端口的外部请求:

  • 进入虚拟机终端,执行命令开放端口:
    sudo ufw allow 8080
    
  • 若临时测试,可关闭防火墙(不建议生产环境使用):
    sudo ufw disable
    

3. 修正Django的ALLOWED_HOSTS配置

Django的ALLOWED_HOSTS限制了允许访问的主机地址,需添加相关IP:

  • 打开项目的profiles_project/settings.py
  • 修改ALLOWED_HOSTS配置:
    ALLOWED_HOSTS = ['0.0.0.0', '127.0.0.1', 'localhost']
    
  • 重启Django开发服务器

4. 直接使用虚拟机IP访问

如果端口转发仍有问题,可直接通过虚拟机的IP访问:

  • 在虚拟机内执行ip addr(或ifconfig)查看虚拟机的局域网IP(通常为192.168.x.x格式)
  • 本地浏览器访问虚拟机IP:8080即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:35:07