內網穿透(mac,window,linux通用)1分鐘實現外網訪問電腦本地伺服器

程式設計小石頭發表於2019-04-10

我們在做開發時,不想購買伺服器,只想搭建我們本地的伺服器,我們搭建的本地伺服器只能供我們自己電腦的瀏覽器訪問,或者處於同一個wifi下的手機訪問,但是我們如果想讓別人訪問到我們的本地伺服器,尤其做微信公號或者小程式開發時,想在微信裡訪問到我們在電腦上搭建的本地伺服器。 我們就要做內網穿透了,內網穿透就是別人通過外網能夠訪問到我們本地的伺服器。

先來說下市面上一些主流的內網穿透方法

穿透工具 入門簡易度 價格
Ngrok 簡單 免費/付費(幾元每月)
Natapp 簡單 免費/付費(幾元每月)
花生殼 簡單 付費(偏貴)
Ssh、autossh 免費
Frp 付費
Lanproxy 付費
Spike 付費

#今天就來講講這幾個配置比較簡單的

Ngrok

  • 專案主頁:ngrok.com/
  • 專案介紹: 一個通過任何NAT或防火牆為您的本地主機伺服器提供即時訪問、安全的URL的命令。類似花生殼,分為服務端和客戶端,也可以自己搭建服務端。
  • 使用教程:點選跳轉 **優點:**傻瓜式配置,5分鐘就能配置好,有免費式 **缺點:**配置在國外,每次訪問會很慢

花生殼

  • 專案主頁:hsk.oray.com/
  • 專案介紹:商業化比較成功的內網穿透。個人開發很不推薦,收費貴,企業可以考慮使用。

Natapp

  • 專案主頁:natapp.cn/
  • 專案介紹:基於ngrok的國內的內網穿透工具,類似花生殼,有免費版本,比花生殼好。免費版本:提供http,https,tcp全隧道穿透,隨機域名/TCP埠,不定時強制更換域名/埠,自定義本地埠。收費版本也就幾元每月。

綜合對比下這幾個簡單的內網穿透,我個人比較中意natapp,下面就來講下natapp配置內網穿透的步驟。

一,官網註冊

natapp.cn/ 這個我不用說了,進官網註冊就行

二,購買隧道(免費/收費都有)

image.png
我們這裡可以選擇免費隧道,免費的需要實名認證,我這裡是用了9元一個月的隧道(個人建議買這個)
image.png
配置資訊先和我保持一致即可。

三,下載客戶端

natapp.cn/#download 下載對應的即可

image.png
下載後,解壓,然後把解壓出來的檔案放到一個目錄裡。
image.png
然後命令列裡:cd /Users/qcl/packages/natapp 進入到你放置natapp檔案的目錄裡。 再輸入ls,檢視natapp軟體是否存在。
image.png

mac執行下面兩步

  • 進入到目錄後輸入下面命令列 chmod a+x natapp 是為所有使用者開啟執行命令 (如果不加這一步 也可以直接用sudo+第二步執行軟體)
  • 然後輸入 ./natapp 這一步是執行命令

win使用者直接雙擊.exe檔案即可

image.png

這裡提示我們認證錯誤,錯誤是因為authtoker沒有配置,所以我們需要在命令列裡執行下面命令

./natapp -authtoken=你的authtoken值
複製程式碼

而這個authtoken值,我們可以到管理後臺去找

image.png
如箭頭所指,就是我們想要的authtoken 然後命令列裡執行
image.png
執行上面命令列時會出現下面結果
image.png
這就代表我們成功把外網 http://a11*********98.natapp.cc -> 127.0.0.1:8080 對映到我們本地的伺服器了,這時候我們通過外網網址,就可以訪問我們本地伺服器了。 但是。。。。。。
image.png

natapp提供給我們的網址,不能直接訪問,這時我們就要去做另外一個配置了。

繫結本站二級域名或自主域名後進行訪問

之所以這麼做,也是為了安全。 下面我們就繼續來講怎麼繫結本站二級域名或自主域名。

  • 如果你有自己的備案域名,可以參考官方文件 natapp.cn/article/bei…
  • 如果你沒有自己的備案域名,就需要再去註冊一個二級域名了。
    image.png
    我這裡拿自己的微訊號,註冊一個二級域名。 註冊完二級域名後,再去修改隧道配置
  • 點選配置
    image.png
  • 選中二級域名
    image.png
  • 修改成功後,我們的域名就會變成我們的二級域名
    image.png
  • 然後再次在命令列裡執行
    image.png
  • 可以看到我們的域名已經變了
    image.png

到這裡我們就配置成功了,去驗證下
image.png
手機微信訪問
image.png
這時候我們就可以愉快的實現內網穿透了

這樣外網就能輕鬆的訪問到我們本地電腦的伺服器了。 做微信開發時,就可以愉快的在我們本地做除錯了。

相關文章