如何外網訪問內網服務器


假如你剛寫完一個內部測試Web站點,對於新功能希望展示給客戶看一下,而客戶又在公網時,而你在內網(未部署)時,就會產生這個問題。

如果客戶不在同一個局域網內(通常不在),你就沒辦法展示給他看了。這時,只好將新站點上傳到公網服務器部署,或者截圖給人家看效果了。

如果又遇到客戶的修改反饋意見的話,又要反復以上步驟,可能5-6遍之多,這樣十分的低效。 要知道,開發人員的時間非常寶貴,盡量不要浪費在低效率事情上。

這時候,就可以介紹今天的主角了,cpolar內網穿透利器。它可以把內網的站點變成公網上可以訪問的站點。一條命令就可以搞定。不論你在何處,用戶在何處,一鍵上公網,非常的方便。

接下來,我們就實戰操作一下。

前期准備

  1. 注冊一個cpolar帳號 (必要)
  2. 下載cpolar客戶端(必要)
  3. 准備一個Web測試網站程序包(可選)
    它用來模擬在本機跑着的測試Web站點

注冊cpolar帳號

  1. www.cpolar.com 官網注冊一個帳號
    在這里插入圖片描述

  2. 注冊成功后,會自動登錄到用戶后台界面
    在這里插入圖片描述


下載cpolar客戶端

下載地址:https://www.cpolar.com/download/

根據自己的本機操作系統,下載指定的客戶端,后台界面里列出了9種不同平台的客戶端可供下載,包括WINDOWS、Linux、MAC、還有ARM平台(這說明樹莓派也有機會,^^)。

下載客戶端到本地后,解壓縮,解壓后得到一個cpolar的命令行客戶端。
在Linux或OSX上,您可以使用以下命令從終端解壓縮cpolar。 在Windows上,只需雙擊cpolar.zip即可。

$ unzip /path/to/cpolar.zip

配置客戶端token認證令牌


在這里插入圖片描述


復制你后台的認證串命令,然后在本機的命令行窗口執行。(注意authtoken串的完整)

$ ./cpolar authtoken <自己的authtoken字符串>

它執行完后,並沒有真正訪問服務器端認證,而是保存了authtoken串到默認創建的配置文件中。
默認配置文件路徑:在你當前用戶目錄下.cpolar\cpolar.yml,以后你可以增加配置項,讓你更加方便的調試,現在不用管。

運行cpolar客戶端,模擬連接本機的8080端口。

$ ./cpolar http 8080

這時候我們還沒有啟動內網Web站點,所以8080端口上沒有任何東西,執行它的目的是測試一下cpolar客戶端連接服務器認證是否正常。連接后,可以看到命令行的連接狀態,如果是online狀態,則為正常。如果是其它狀態,例如:reconnect,則可能是認證串填寫不對,請重新檢查執行第7步。

上圖可以看到Tunnel status顯示online,就是正常連接,cpolar服務器會分配一個隨機域名。可以http訪問,也可以https訪問。

在這里插入圖片描述
正常連通后,按CTRL+C結束客戶端。

下載Web示例站點

  1. 測試Web站點,是一個TODO List待辦清單示例站點,它的最終的效果圖:
    在這里插入圖片描述

  1. 根據你的操作系統平台,下載相應的示例Web站點程序:
示例Web站點程序部署環境 下載地址
WINDOWS 64位 32位
蘋果MAC 64位 32位
Linux(Debian、CentOS、Ubuntu) 64位(Debian、CentOS、Ubuntu)
32位(Debian、CentOS、Ubuntu)
FreeBSD FreeBSD 64位
ARM (樹莓派) Linux ARM 32位 (樹莓派)
嵌入式 (路由器) MIPS MIPSLE

這個Web測試站點程序就是一個文件,在命令行下的單一程序,簡單,直接運行就可以。

  1. 下載示例站點后,本地解壓縮,然后在命令行中執行。
$ ./cpolar-todo-mvc

運行后,它會默認偵聽在本地8080端口,如果您的8080端口已被其它程序占用,可以使用命令行參加-httpAddr,修改啟動端口,命令如下:

$ ./cpolar-todo-mvc -httpAddr=:8082

運行成功后,會有如下提示。
在這里插入圖片描述

  1. 打開瀏覽器,輸入網址:http://localhost:8080,打開測試站點
    在這里插入圖片描述

如上圖所示,說明本地內網測試站點,已經搭建成功!接下來,我們利用cpolar,將這個內部站點,發布到公網。

連接cpolar客戶端到內網測試站點

  1. 在命令行輸入
$ ./cpolar http 8080

在這里插入圖片描述


  1. 復制命令行窗口中的cpolar分配的域名鏈接到瀏覽器,本示例中的是 https://542d821a.cpolar.io,看看發生了什么?
    在這里插入圖片描述

  1. 內部的站點,已經被發布到公網,可以被訪問到了。但是作為程序員,好像有種錯覺,像是DNS映射在本機一樣,這是真的么?趕緊發送這個鏈接給你遠在天邊的朋友或客戶,一起來驗證一下。看看能不能訪問得到吧。讓他們告訴你,你的新內測網站做得有多棒!^ ^

總結

今天我們利用cpolar將自己的本機測試站點公布到了公網上,而沒有使用公網服務器部署。以后可以經常發布站點內測版給給客戶了。
其實cpolar還有更多玩法。
例如:
1. 微信公眾號對接調試,不需要再部署程序,這對於程序員來說,非常方便。
2. 遠程家里的樹莓派。
3. 私有雲盤公網訪問


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM