我正在使用一个流浪的Geodjango盒子,端口转发对我不起作用.
在盒子上,我跑了:
python manage.py runserver 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
但http://localhost:8000与http://localhost:4567这两个发现在主机上什么都没有.
在Vagrant框中,curl -v 'http://localhost:8000/'给出通常的:
<h2>Congratulations on your first Django-powered page.</h2>
Run Code Online (Sandbox Code Playgroud)
这表明Django运行正常.但是在主机上,尝试curl -v 'http://localhost:8000/'提供以下输出:
curl: (7) Failed connect to localhost:8000; Connection refused
Run Code Online (Sandbox Code Playgroud)
我的Vagrantfile具有以下端口转发设置:
config.vm.forward_port 8000, 4567
Run Code Online (Sandbox Code Playgroud)
禁用Mac的防火墙没有帮助,停止Apache没有任何区别.我试过lsof -i :8000在主机上运行并且没有输出,所以我认为什么都没有使用端口.
谁能提出任何建议?
小智 8
我在优胜美地遇到了同样的问题,没有一个端口正在转发.禁用来宾计算机上的防火墙过滤器有助于:
sudo service iptables stop
Run Code Online (Sandbox Code Playgroud)
很高兴看到你自己解决了这个问题。
只是想补充我的 2 美分,在 V2 Vagrantfile 中,端口转发代码块如下所示,尝试使用新的代码块以避免端口冲突(回到 v1 时我总是很困惑哪个是哪个)。
config.vm.forward_port 8000, 4567是将访客端口 8000 转发到主机 4567,而不是相反。
在V2格式中,它如下所示,我认为这更清楚
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9964 次 |
| 最近记录: |