流浪汉港口转发不适用于小牛队

时间:2013-11-26 13:07:52

标签: macos vagrant

我正在使用vagrant Geodjango box并且端口转发对我不起作用。

在盒子上,我跑了:

python manage.py runserver 0.0.0.0:8000

但是http://localhost:8000http://localhost:4567都没有在主机上找到任何内容。

在Vagrant框中,curl -v 'http://localhost:8000/'给出了通常的内容:

<h2>Congratulations on your first Django-powered page.</h2>

这表明Django运行正常。但是在主机上,尝试curl -v 'http://localhost:8000/'会得到以下输出:

curl: (7) Failed connect to localhost:8000; Connection refused

我的Vagrantfile具有以下端口转发设置:

config.vm.forward_port 8000, 4567

禁用Mac的防火墙没有帮助,停止Apache没有任何区别。我已经尝试在主机上运行lsof -i :8000并且没有输出,所以我认为没有使用该端口。

有人可以提出任何建议吗?

2 个答案:

答案 0 :(得分:8)

我在优胜美地遇到了同样的问题,没有一个端口正在转发。在来宾计算机上禁用防火墙过滤器有助于:

sudo service iptables stop

答案 1 :(得分:4)

很高兴看到你自己想出来。

只想添加我的2美分,在V2 Vagrantfile中,端口转发代码块如下所示,尝试使用新的,以避免端口冲突(回到v1我总是困惑哪个是哪个)。< / p>

config.vm.forward_port 8000, 4567正在将访客端口8000转发给主机4567,而不是相反。

在V2格式中,它看起来如下,从我的意见中可以更清楚

Vagrant.configure("2") do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080
end