我正在測試nginx設置與vagrant,但我似乎缺少一些細節,因爲當我嘗試從主機到達nginx靜態ip時,連接超時。我的流浪文件:Vagrant - 專用網絡端口轉發行爲
# -*- mode: ruby -*-
# vi: set ft=ruby :
$script = <<-SCRIPT
sudo apt-get -y update
sudo apt-get install -y nginx
SCRIPT
###################################
Vagrant.configure("2") do |config|
# webserver server
config.vm.define "webserver" do |webserver|
webserver.vm.box = "bento/ubuntu-16.04"
webserver.ssh.insert_key = false
webserver.vm.network "private_network", ip: "192.168.10.101"
webserver.vm.network "forwarded_port", guest: 80 , host: 4000, host_ip: "127.0.0.1"
webserver.vm.hostname = "webserver"
webserver.vm.provision "shell", inline: "sed 's/127\.0\.0\.1.*webserver.*/192\.168\.10\.101 webserver/' -i /etc/hosts"
webserver.vm.provider "virtualbox" do |vb|
# Customize VM
vb.name = "webserver"
vb.memory = "1024"
vb.cpus = "2"
end
end
end
我能夠達到nginx的六本地主機:4000,但如果我這樣做http://192.168.10.101:4000,連接超時。我也試圖阻止如下的防火牆:
[email protected]:~$ sudo ufw disable
Firewall stopped and disabled on system startup
沒有幫助。有關於此的任何指導?
編輯 - 1
我在https://www.vagrantup.com/docs/virtualbox/networking.html閱讀文檔後取出VirtualBox虛擬專用網絡。然而,這個問題有點令人困惑,因爲現在我可以訪問nginx測試頁面: http://192.168.10.101但不是在http://192.168.10.101:4000。雖然我可以訪問http://localhost:4000。可能是我錯過了一些東西。
編輯 - 2
然VM中的蟒蛇simplehttpserver和轉發端口:
python -m SimpleHTTPServer 8000
Vagrantfile
dbserver.vm.network "forwarded_port", guest: 8000 , host: 5000, host_ip: "127.0.0.1"
但我可以訪問我的測試頁:
但不能作爲
所以這讓我覺得有一些規則,讓我來訪問我的VirtualBox的端口,而不會在專用網絡上實際的端口轉發。
$> netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.0.1 UGSc 40 0 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 4 57934 lo0
169.254 link#4 UCS 0 0 en0
192.168.0 link#4 UCS 0 0 en0
192.168.0.1/32 link#4 UCS 1 0 en0
192.168.0.1 c0:a0:bb:c6:f5:58 UHLWIir 48 6051 en0 1188
192.168.0.101/32 link#4 UCS 0 0 en0
192.168.10 link#17 UC 2 0 vboxnet
192.168.10.102 8:0:27:1b:d5:98 UHLWI 0 73 vboxnet 586
224.0.0/4 link#4 UmCS 2 0 en0
224.0.0.251 1:0:5e:0:0:fb UHmLWI 0 0 en0
239.255.255.250 1:0:5e:7f:ff:fa UHmLWI 0 1067 en0
255.255.255.255/32 link#4 UCS 0 0 en0
儘量評論'forwarded_port'線,做'無業遊民up'。並驗證你是否能夠訪問? – Haranadh
我做了,它現在只轉發端口22。 ==> webserver:轉發端口... webserver:22(guest)=> 2222(host)(adapter 1)。我仍然可以訪問端口80上的nginx測試頁面。如果您能夠修復,我似乎錯過了有關轉發機制 –
的一些觀點,這非常棒。如果仍然存在問題,請告訴我,但我需要在本地系統中執行該設置並嘗試。 :)我會盡力做到這一點,並更新你,如果你仍然有問題。 – Haranadh