小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Ubuntu安裝配置ngrok教程 | 且行且珍惜

 WOLFHERD 2020-03-08

ngrok 是一個反向代理,通過在公共的端點(diǎn)和本地運(yùn)行的 Web 服務(wù)器之間建立一個安全的通道。ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放。這是百度百科上查到的對于ngrok的定義。說白了就是能穿透內(nèi)網(wǎng),把內(nèi)網(wǎng)的機(jī)器映射到外網(wǎng)上,當(dāng)然首先你得有一臺外網(wǎng)的服務(wù)器。

之前ngrok的官方服務(wù)在國內(nèi)是可用的,但是目前是被qiang了,還好ngrok是開源的,我們可以自己搭建。下面我記錄一下在Ubuntu14.04下搭建ngrok的全過程,以備后查。

 

1.安裝必要的工具

sudo apt-get install build-essential golang mercurial git

2.git得到ngrok的源代碼

git clone https://github.com/tutumcloud/ngrok.git ngrok
cd ngrok

3.制作自己的證書

###使用自己的域名,定義一個變量,我這里用的是一個免費(fèi)域名
NGROK_DOMAIN=""
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
###復(fù)制基礎(chǔ)的證書到目錄下,以便編譯 
cp base.pem assets/client/tls/ngrokroot.crt

4.編譯代碼

sudo make release-server release-client
編譯完成后ngrok/bin 目錄下應(yīng)該有 ngrok、ngrokd 兩個可執(zhí)行文件
5.域名解析
在域名服務(wù)商處,解析到當(dāng)前服務(wù)器上,需要做兩處解析,一個@,一個*的泛解析。
image
6.測試運(yùn)行服務(wù)端程序
###ngrok/bin目錄下的ngrokd 就是服務(wù)端程序了,指定證書、域名和端口啟動它(證書就是前面生成的,注意修改域名,這里的域名需要和證書生成時候的一樣)
sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="" -httpAddr=":19892" -httpsAddr=":19957"
###如果有防火墻,需要放行以上兩個端口,同時還需要放行4443端口
###運(yùn)行成功之后,我們在瀏覽器中通過訪問"http://:19892/”或"https://:19957/”如果在瀏覽器中顯示如下信息,則說明服務(wù)器已經(jīng)啟動成功
Tunnel :19892 not found
7.編譯不同版本的客戶端
通過以上的操作我們搭建完成了服務(wù)端。下來需要進(jìn)行客戶端的編譯,linux在之前編譯的ngrok/bin目錄下ngrok文件就是linux的客戶端。
###windows客戶端編譯命令:
###64位:
sudo GOOS=windows GOARCH=amd64 make release-server release-client
###32位
sudo GOOS=windows GOARCH=386 make release-server release-client
###mac客戶端編譯命令:
sudo GOOS=darwin GOARCH=amd64 make release-server release-client
###ngrok/bin 目錄下會多出來一個 darwin_amd64和windows_amd64 目錄,這里的 ngrok 文件就可以拷到相應(yīng)的系統(tǒng)用了
 
8.啟動服務(wù)端
###在當(dāng)前終端啟動服務(wù)端
sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="" -httpAddr=":19892" -httpsAddr=":19957"
###在后臺運(yùn)行服務(wù)端
sudo nohup ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="" -httpAddr=":19892" -httpsAddr=":19957" &
###在后臺運(yùn)行服務(wù)端時候,我們?nèi)绻枰Y(jié)束服務(wù)可以使用如下代碼
ps -A   #找到PID  
kill xxxid  
9.啟動客戶端程序
###復(fù)制相應(yīng)的客戶端程序到本地,在同目錄下創(chuàng)建ngrok.cfg配置文件,根據(jù)自己的情況進(jìn)行配置

server_addr: “:4443” 

trust_host_root_certs: false 

###然后再控制臺運(yùn)行啟動客戶端代碼,后面跟著的斷口號是本地服務(wù)的端口號,-subdomain的字母是指定的子域名

ngrok -config=ngrok.cfg -subdomain gs 80
image
在127.0.0.1:4040界面我們可以清楚的看到所有的通過轉(zhuǎn)發(fā)的網(wǎng)絡(luò)請求
image
10.啟動ngrok的tcp代理服務(wù)
上面說的是啟動http客戶端服務(wù),因?yàn)閔ttp是默認(rèn)的,所以啟動命令不需要指定-proto參數(shù),如果僅僅要啟動客戶端tcp斷口的轉(zhuǎn)發(fā),可以指定-proto=tcp
示例命令如下:
#啟動局域網(wǎng)其他機(jī)器(192.168.0.66)的3389端口轉(zhuǎn)發(fā)
ngrok -config=ngrok.cfg -proto=tcp 192.168.0.66:3389
#啟動本機(jī)的3389端口轉(zhuǎn)發(fā)
ngrok -config=ngrok.cfg -proto=tcp 3389
當(dāng)然這樣啟動TCP端口之后,服務(wù)器給予的TCP端口是隨機(jī)的,如果要指定,就得修改服務(wù)器源碼,指定哪些客戶端請求,服務(wù)器開發(fā)指定的tcp端口
 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多