在安卓上部署伺服器 - 解決內網穿透

本系列其他文章:

0. 在安卓上部署伺服器

1. 在安卓上部署伺服器 - 應用程序的配置

2. 在安卓上部署伺服器 - 解決內網穿透問題

3. 在安卓上部署伺服器 - 部署腳本和博客

上篇文章講了總體情況和相關應用的配置,這篇文章解決內網穿透問題。

我需要把手機放家裡或者宿舍,這時使用的是內網,沒有公網的固定IP,沒法進行域名解析,這時候就需要內網穿透了。上篇文章中提到使用ngrok進行內網穿透。ngrok適合測試,不適合商用,想進行長期使用或者商用的同志們選擇合適的平台。

1、首先在ngrok.cc註冊成為會員

2、開通隧道

在上圖中表單信息解釋:

=>隧道名稱:可以隨便填寫,只是為了使用者在往後之後這個隧道是幹嘛的

=>前置域名:伺服器免費贈送的域名,請不要帶上後綴,如果要ZKeeer.ngrok.cc 只需要填寫 ZKeeer即可 ,千萬不要填寫成ZKeeer.ngrok.cc否則域名會是ZKeeer.ngrok.cc.ngrok.cc

=>本地埠:可以為同一個區域網內任意一台機器進行映射,只需要填對ip和埠就行,例如:192.168.1.1:80。

用路由器分配給安卓設備一個固定IP,將此固定IP填寫到這裡。

用路由器分配給安卓設備一個固定IP,將此固定IP填寫到這裡。

用路由器分配給安卓設備一個固定IP,將此固定IP填寫到這裡。

埠填寫運行Blog_mini時填寫的埠

埠填寫運行Blog_mini時填寫的埠

埠填寫運行Blog_mini時填寫的埠

=>http驗證用戶名:非必填項,在需要的時候填寫,否則可以不填

=>http驗證密碼:非必填項,在需要的時候填寫,否則可以不填

3、編輯隧道,添加自定義域名

4、解析域名到server.ngrok.cc

或者這樣

至此,網路端配置完成,接下來是安卓本地的配置

5、下載ngrok客戶端,選擇Linux ARM版本

6、啟動映射服務

Linux系統下啟動,需要進入到客戶端的目錄執行以下命令,通過隧道管理找到隧道id,然後執行

./sunny clientid 隧道id

看到這樣則是成功啟動一條隧道,啟動多條隧道把多條隧道id使用英文逗號隔開就可以了。例如:

./sunny clientid c7fb2defb4081919,3e23d14f040b2b12

上面命令就可以啟動多條隧道了

7、訪問服務

然後通過啟動成功界面上的鏈接訪問網站如果顯示是內網搭建的web服務裡面的內容就說明成功了

【注意】在需要映射的機器建立web服務,如果沒有啟動web服務將會看到下圖提示

參考文章:

Sunny-Ngrok 自定義域名使用方法

Sunny-Ngrok http前置域名使用方法


推薦閱讀:

失落的神器 Limbo PC Emulator
為什麼 Xcode 的 iPhone 模擬器的啟動速度和運行速度都比 Android 開發套件的模擬器快很多?
有效減少 Android 應用的方法數
能夠買到的話,你選擇魅藍metal,樂1s,榮耀5x這其中的哪個,或者同價位你會選擇哪個??
為什麼鎚子稱自己的系統為OS,而小米只叫UI?

TAG:Android | Linux | 端口映射 |