2014-02-27 24 views
3

我在Windows 7上。我有一個vagrantfile指定轉發端口的乘客,在流浪它聲稱它已轉發端口,但事實並非如此,當我開始我的應用程序I可以運行在Windows上的端口轉發流浪狗

捲曲0.0.0.0:3000

,並從我的Rails應用程序得到一個結果,但是外面流浪的我無法連接到服務器。我怎樣才能從外面的流浪者進入港口?

的Vagrantfile包含以下行

config.vm.network:forwarded_port,客人:3306,主機:3306#MySQL的

config.vm.network:forwarded_port,客人:3000,主機:3000 #乘客

+0

你可以發佈你的vagrantfile的樣本,特別是你轉發端口的地方嗎? –

回答

2

一種可能性是端口碰撞正在發生,例如,某些東西正在主機的3000端口上運行。按照Port Forwarding documentation

您可以添加auto_correct: true標誌,該標誌將輸出的任何碰撞和自動更正的詳細信息,當你vagrant upvagrant reload

0

您可以打開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 

上面一直在許多'敵對'開發環境中爲我工作。