閱讀720 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Windows、Linux環境下搭建ngrok服務器

      WindowsLinux環境下搭建ngrok服務器

  微信公眾號、支付寶支付等開發要求有公網(外網)服務器。每次調試時,上傳代碼到服務器很不方便。ngrok很好的解決了這一問題。

網上的文章大多是講實通過阿裏怎麼在Linux下搭建ngrok服務器。其實依靠雲計算的強大計算能力,可以實現快速編譯製作windows操作係統下服務器端程序,也可以實現linux操作係統下的服務器端程序。目前測試支持 Windows XP/ Windows 7 (win7)/Windows Server 2008/Windows Server 2012,各類Windows 32位,64位操作係統。同時支持Linux係列服務器,Ubuntu Linux/Red Hat Linux/CentOS,Linux 32位,Linux 64位。訪問網址https://www.hongzaosoft.cn/downloadngrok.jsp 即可製作下載 windows、Linux版本的ngrok服務端和客戶端。

生成好的程序是綠色免安裝版,直接拷貝就可以用,連腳本都配置好了。

一、搭建前準備條件:

1.如果是做tcp內網穿透,隻需要公網ip,或者域名,域名可以不備案,但必須確保被解析到你的服務器公網ip上。

如果是做http穿透,必須要有域名,並且通常你的服務器提供商會要求域名備過案。

通常我們用自己的域名比如hongzaosoft.cn來給ngrok服務端用,如果被占用,也可以準備個二級域名比如ngrok.hongzaosoft.cn來專門給ngrok用,這個域名在後麵編譯服務器端會用到,配置文件裏也必須與這個域名一致,否則連不上;

2.防火牆準備:請開放以下端口:

4443ngrok服務端默認用到的端口,此端口可以在配置文件中更換。

80ngrok服務端http協議用到的端口,此端口可以在配置文件中更換。

還有您指定的remote遠程服務器端口,例如將服務器的tcp端口25565轉發到本地內網25565端口,則遠程服務器必須開放25565端口,本地客戶機開放25565端口。

怎麼開放防火牆端口,以我的centos為例

#開放 8080 

iptables -I INPUT 4 -p tcp  -m state --state NEW -m tcp --dport 8080 -j ACCEPT

service iptables save

客戶端也要放開對應的端口,一般客戶端安全性要求不高,可以直接關掉防火牆

windows開放防火牆有圖形化界麵,不贅述。

 

二、編譯服務器端、客戶端軟件

自己編譯需下載安裝GitGo環境、編譯ngrok、為域名生成證書。

比較複雜,要了解的東西比較多,這裏可以借助紅棗軟件提供的生成服務器端、客戶端軟件的功能,避免繁雜的工作。

自己弄下來得大半天功夫,一個程序員一天都值幾百大洋,不如直接通過紅棗軟件提供的服務生成來的好。

圖形化界麵,通俗易懂;編譯好軟件的同時,生成服務端和客戶端啟動腳本。

服務器端配置:

17ff94474123db775150b05c7903835221b637f717ff94474123db775150b05c7903835221b637f7

如果您沒有域名,或者不想用域名,也可以填您的公網ip

e5c24f1b9d095754ed17772dade7ecc798b64192

 

客戶端配置:

這裏配置一個http轉發示例:講內網tomcat的8080端口使用wx.hongzaosoft.cn這個域名來訪問

22ef555516a6bca6d87c21fcc37d1c3b31826a04

那麼訪問https://wx.hongzaosoft.cn就可以訪問到https://127.0.0.1:8080的效果。

再配置一個tcp轉發示例:

比如轉發我的世界遊戲用的25565端口到ngrok服務器的25565端口,則可如下配置

d3907ef094c571287b215896a1265361e3dac0e0

點提交後,會跳轉到ngrok下載頁麵。下載得到的文件如下:

b30e8a99f5f9024320f87b248f1e8fc4822510ff

生成的文件全部是綠色免安裝,拷過去就可以用了。為了提高您的下載速度,將主程序放到了百度網盤,從百度網盤下載下來後,windows下雙擊bat文件,Linux下執行shshell腳本就可以了。

 

 

三、服務器、客戶端啟動方法

以windows為例,從百度網盤下載服務端exe文件到《啟動ngrok服務端.bat》所在目錄後,雙擊運行這個bat文件,啟動後界麵

9e21cea74113b389b6fd9d1a0e399b3c861f7500

 

接下來啟動客戶端。從百度網盤下載服務端exe文件到《啟動端口25565.bat》所在目錄後,雙擊運行這個bat文件,就可以映射25565端口了,顯示online表明成功。

21ac619c8b46e897409b4f95611363bb5c4c1738

如果要啟動wx這個子域名的http內網穿透,雙擊《啟動子域名wx.bat》就可以了,顯示online的成功界麵如下:

289503fd2dee7e98b3cf6d10549d18eeb8d9a99d

如果要做其他tcp端口、http子域名的內網穿透,詳細參見生成的軟件中包含的文檔。

 

Linux的使用方法也很簡單,有寫好的對應的shell腳本。

 

軟件的下載鏈接https://www.hongzaosoft.cn/downloadngrok.jsp

 

客戶端配置進階篇

如果需要轉發服務器ngrok.hongzaosoft.c80端口到本地的8080

轉發服務器ngrok.hongzaosoft.ctcp 22端口到本地的22

轉發服務器ngrok.hongzaosoft.ctcp 3389端口到本地的3389

則可以這麼做,創建一個ngrok.cfg文件,配置如下:

 

server_addr: "ngrok.hongzaosoft.cn:4443"

trust_host_root_certs: false

tunnels:

      httptest:

        proto:

           http: 8080

      ssh1:

        remote_port: 22

        proto:

            tcp: 22

      tcp2:

        remote_port: 3389

        proto:

            tcp: 127.0.0.1: 3389

 

配置文件寫好後,我們可以寫一個bat文件,示例如下:

ngrok.exe -config=ngrok.cfg start httptest ssh1 tcp2

 

以後直接運行bat文件就可以啟動客戶端了

 

最後更新:2017-07-18 20:35:05

  上一篇:go  Vim技能修煉教程(15) - 時間和日期相關函數
  下一篇:go  如何拆分你的微服務架構?