利用cpolar-內網穿透工具,將內網伺服器暴露給公網訪問
適合場景:
作為一名Web開發人員,你可能會遇到以下這種場景:
- 你在辦公室的剛寫完一個內部測試Web站點,這時對於新版本站點的功能,你希望展示給某人看一下,這個人也許是你的客戶,或是你的老闆,或是產品經理、測試人員等。
- 如果你跟要看網站的人在同一個內網下,還很方便,如果恰巧這個人不在公司(客戶不可能天天跟你碰面),或者你們不在同一個區域網,你就沒辦法展示給他看了。這時候,只好上傳到公網伺服器部署,或者截圖給人家看效果了。如果又遇到修改反饋意見的話,又要反覆以上步驟,可能5-6遍之多。這很低效。 注意:開發人員的時間是很寶貴,儘量不要浪費在一些低端的雜事上。
- 這時候,就可以介紹今天的主角了,cpolar,它可以幫你解決這個問題。
- cpolar是Web開發除錯的利器工具,它可以把內網的站點變成公網可以訪問的站點。而不論你在何處何地,使用者在何處何地,非常的方便。
接下來看,我們就以實戰操作一下,看如何將內部測試站點,暴露給公網使用者訪問(無需要要公網伺服器部署)。
前期準備
- cpolar註冊並下載客戶端(必需)
- 準備一個Web測試網站程式包(可選)
它用來模擬在本機跑著的測試Web站點,如果你已經了現成的自己的站點,可以忽略這步驟。
註冊cpolar帳號
-
去 ofollow,noindex">www.cpolar.com 官網註冊一個帳號
在這裡插入圖片描述
-
點選左上角註冊按鈕,填寫註冊資訊
在這裡插入圖片描述
-
註冊成功後,會自動登入到使用者後臺介面
在這裡插入圖片描述
4.下載cpolar客戶端
上圖有下載連結,根據自己的本機作業系統,下載指定的客戶端,後臺介面裡列出了9種不同平臺的客戶端可供下載,包括WINDOWS、Linux、MAC、還有ARM平臺(這說明樹莓派也有機會,^^)。
$ 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示例站點
-
測試Web站點,是一個TODO List待辦清單示例站點,它的最終的效果圖:
在這裡插入圖片描述
- 根據你的作業系統平臺,下載相應的示例Web站點程式:
Linux 64位 (Debian、CentOS、Ubuntu)
Linux 32位 (Debian、CentOS、Ubuntu)
FreeBSD 64位
FreeBSD 32位Linux ARM 32位 (樹莓派)
嵌入式 MIPS
嵌入式 MIPSLE這個Web測試站點程式就是一個檔案,在命令列下的單一程式,簡單,直接執行就可以。
- 下載示例站點後,本地解壓縮,然後在命令列中執行。
$ ./cpolar-todo-mvc
執行後,它會預設偵聽在本地8080埠,如果您的8080埠已被其它程式佔用,可以使用命令列參加-httpAddr,修改啟動埠,命令如下:
$ ./cpolar-todo-mvc -httpAddr=:8082
執行成功後,會有如下提示。

在這裡插入圖片描述
-
開啟瀏覽器,輸入網址: http://localhost:8080 ,開啟測試站點
在這裡插入圖片描述
如上圖所示,說明本地內網測試站點,已經搭建成功!接下來,我們利用cpolar,將這個內部站點,釋出到公網。
連線cpolar客戶端到內網測試站點
- 在命令列輸入
$ ./cpolar 8080

在這裡插入圖片描述
- https://542d821a.cpolar.io
複製命令列視窗中的cpolar分配的域名連結到瀏覽器,本示例中的是 https://542d821a.cpolar.io ,看看發生了什麼?
在這裡插入圖片描述
3. 內部的站點,已經被髮布到公網,可以被訪問到了。但是作為程式設計師,好像有種錯覺,像是DNS對映在本機一樣,這是真的麼?趕緊傳送這個連結給你遠在天邊的朋友或客戶,一起來驗證一下。看看能不能訪問得到吧。讓他們告訴你,你的新內測網站做得有多棒!^ ^
總結
今天我們利用cpolar將自己的本機測試站點公佈到了公網上,而沒有使用公網伺服器部署。以後可以經常釋出站點內測版給給客戶了。
其實cpolar還有更多玩法。
例如:
1. 微信公眾號對接除錯,不需要再部署程式,這對於程式設計師來說,非常方便。
2. 遠端家裡的樹莓派。
3. 私有云盤公網訪問