我在Windows 7上。我有一个vagrantfile指定转发端口的乘客,在stream浪它声称它已经转发的端口,但事实并非如此,当我开始我的应用程序,我可以运行
curl0.0.0.0:3000
并从我的rails应用程序得到一个结果,但是在外面的stream浪汉我无法连接到服务器。 我怎样才能从外面的stream浪者进入港口?
Vagrantfile包含以下行
config.vm.network:forwarded_port,guest:3306,host:3306#MySQL
config.vm.network:forwarded_port,guest:3000,主机:3000#乘客
一种可能性是端口碰撞发生,例如。 某些东西正在主机的3000端口上运行。 根据港口转运文件
你可以添加auto_correct: true
标志,当你vagrant up
或vagrant reload
时,会输出任何碰撞和自动auto_correct: true
细节。
您可以打开Virtual Box并查看虚拟机的网络属性,然后选择端口转发。 你会看到你的端口实际映射到的地方。
默认情况下,Vagrant使用10. * IP地址。 根据您的开发环境,VPN,防病毒软件,您的本地端口可能被阻止。
# Create a private network, which allows host-only access to the machine config.vm.network :public_network, ip: "111.222.33.4", :bridge => 'en0: Wi-Fi (AirPort)' # Create a forwarded port mapping which allows access to a specific port config.vm.network "forwarded_port", guest: 5985, host: 15985, auto_correct: true # winrm config.vm.network "forwarded_port", guest: 3389, host: 13390, auto_correct: true # remote desktop config.vm.network "forwarded_port", guest: 4000, host: 4000, auto_correct: true # chef-zero
以上在许多“敌对”开发环境中一直为我工作。