如何從外網穿透到內網
外網,也叫網際網路。從範圍上來講,是指全球性的網際網路絡。如在中國用電腦上網,連線訪問美國的微軟官網,就需要通過外網連線才能訪問。外網IP地址是可以進行全球連線的。
——百度經驗(http://jingyan.baidu.com/article/e8cdb32b64398937052badf9.html)
外網是是相對於區域網來說的,每個地方都是由區域網組成,區域網外面的就是外網了。然後區域網和外網加起來就成了整個網際網路。目前最大的網際網路就是因特網了,它由各個國家的區域網互聯組成。
一般而言,局域網裡面的電腦是無法訪問到外網的,外網的電腦也無法訪問到局域網裡的電腦。大夥可以做個試驗,在瀏覽器輸入“www.youtube.com”,等待下,看是否能訪問到這個位於外國的網站(會翻牆的小夥伴例外)。這是為什麼呢?這是因為中國這個大區域網不允許連線到外面的網站,也就是外網;同樣外國的人也無法訪問我們中國的網站(一些網站例外,如Amazon.com等)。
從外網穿透到內網裡,對於普通的網民來說這倒是無所謂,但對於搞程式開發的程式猿來說,簡直讓各位猿們深惡痛絕。尤其小青年我最近搞微信公眾號開發,需要在本地除錯程式碼;而騰訊的微信伺服器只能把訊息轉發到外網的伺服器上,除錯下程式碼還要上傳到我租的伺服器上除錯,這實在令我咬牙痛恨!小青年我就想有什麼技術可以讓外網的伺服器訪問到我本地的伺服器?小青年我就從本國的網站開始搜方法,一直搜到外國的各大IT論壇。終於在經過幾次比對後,找到了一款小巧的穿透程式——ngrok!這款程式是從外國的網站下載下來的,使用簡單,在Windows作業系統雙擊即可執行。下面給大家演示下。
1.下載下來解壓得到一個exe檔案
2.雙擊exe檔案,彈出這個命令列視窗。在下面輸入“ngrok.exe http 82”(注:注意有兩個空格;82埠是小青年我繫結的本地伺服器埠),然後在鍵盤上敲"Enter"鍵。
這個程式開始運行了(online Status)。記住Forwarding後面的兩個網址,最小化視窗,開啟瀏覽器;在位址列輸入任一網址即可從外網訪問處於內網中的你的電腦,應該叫伺服器了(注:https這個網址在國內訪問速度很慢,甚至還不能開啟頁面。)
當有外網的人訪問你本地的電腦時,GET /*** 會顯示外網那個人訪問了你電腦裡面的什麼檔案。
注意:因為是在外國的網站下載這個程式,所以程式會把你伺服器的埠對映在了美國的網址裡(Region United States(us))。當你在瀏覽器輸入這個網址訪問本地的伺服器時,國內的請求首先翻牆去到外國的這個網址提供商的伺服器後臺,然後這個伺服器會通過你翻牆的隧道返回給你本地伺服器的頁面。