2015-10-27 45 views
7

我有一個用於本地開發的流浪箱。我正在從外面調用一個webhook,所以我正在考慮使用ngrok.com代理對我的Vagrant環境的請求。我對這件事情很陌生。在流浪者箱子上訪問ngrok網頁界面

我想弄清楚如何訪問ngrok的網絡界面,通常在http://127.0.0.1:4040。當然,這從我的瀏覽器不起作用,因爲它在Vagrant框之外,所以它的localhost不是流浪者的本地主機。

我(想我)有流浪的IP地址。我發現它在一個config.yaml文件(是的,用一個),在vm:網絡下:private_network:192.168.nnn.nnn

感謝您的幫助。

+0

我很困惑你的問題。如果您在主機上運行ngrok,爲什麼不能將主機的瀏覽器指向本地主機?或者你在流浪盒裏運行代理? –

+0

我在客機上運行ngrok。在流浪漢。公平地說,我還沒有通過ngrok收到請求。目前,我只是想看看如何讓主機上顯示Web界面。 – NotoriousWebmaster

+1

如果您閱讀vagrant的'網絡'文檔,他們首先通過端口公開Web服務,然後如果這還不夠,它會記錄如何爲該框設置靜態IP,最後介紹如何設置和使用動態IPS。你可能會對端口轉發很好。 –

回答

29

當試圖訪問一個網站在一個虛擬機,把ngrok的主機,並與調用它:

ngrok http -host-header=rewrite mydomain.com:80 

你需要訪問你的網站(在主機的瀏覽器)與:

http://123456.ngrok.io 

但它會將其改寫爲mydomain.com

你就可以訪問你的儀表板ngrok(在主機的瀏覽器)有:在https://ngrok.com/docs#host-header

http://127.0.0.1:4040 

文檔。祝你好運!

1

添加下面一行到你的Vagrantfile

config.vm.network "forwarded_port", guest: 4040, host: 8080 

,那麼你可以在http://localhost:8080http://127.0.0.1:8080從主機系統訪問。你可以幫助Vagrant Documentation

去你的客戶機使用命令:

vagrant ssh vmname 

,並使用ifconfig檢查來賓計算機的IP。流浪漢使用默認的網絡,因此使用該IP您可以從您的主機訪問web界面一個IP分配給來賓計算機http://vagrantip:4040

您可以創建或分配公共或私有網絡IP。參考vagrant Networking

+0

在http:// vagrantip:4040'建議中嘗試了eth0(10.0.x.x)和eth1(192.168.x.x)IP地址,並且它們都超時。我會嘗試接下來的流浪文件建議;儘管那個人會被git跟蹤,並與團隊的其他成員分享。 – NotoriousWebmaster

+0

命令的輸出是什麼'sudo netstat -tulnp | grep 4040' in guest vagrant machine –

+0

'4:tcp 0 0 127.0.0.1:4040 0.0.0.0:* LISTEN 10854/ngrok' – NotoriousWebmaster

9

你的問題是這個:https://github.com/inconshreveable/ngrok/issues/153

你必須創建一個具有以下內容的配置文件:

web_addr: 0.0.0.0:4040 

然後爲這個運行ngrok:

ngrok http 3000 -config=/path/to/ngrok.conf 

現在你可以使用以下地址從您的瀏覽器訪問Web界面:http://vagrantip:4040http://vagranthostname:4040

例如,http://192.168.33.34:4040http://site.dev:4040如果你的/ etc/hosts文件以這種方式配置

上ngrok配置文件的更多信息請點擊這裏:

https://ngrok.com/docs#config

+2

這應該是被接受的答案。 –

+0

這是這個問題的最佳答案! – PedroTanaka

2

加入此更改配置nano ~/.ngrok2/ngrok.ymlweb_addr: 0.0.0.0:4000

這將打開您的ngrok儀表板到主機的訪問權限。