Ngrok內網穿透服務搭建

第一次發個博客好激動啊,總之(@¥%#¥%¥#@……#¥……%@#%¥&%……&¥%……!#¥#%%¥@……%¥&%……*@#%@!#¥@!¥#!¥#!……此處省略99999字)對你們深深的思念。好了,廢話不多說了,下面開始接受Ngrok服務作用
####註明這篇博文全部爲手敲

Ngrok服務簡單介紹

```首先 ngrok服務是一個內網穿透的服務他可以通過你已有的服務器(前提是有公網)把請求轉發到你的局域網內的機器,有的人可能說 什麼 ***啊。哎呀什麼iptables ,我在這裏告訴你,我的Ngrok可以讓你在家連接我電腦上的虛擬機,***可以嗎?iptables 可以麼? 好了,廢話不說了,下面開始部署Ngrok


1. Ngrok簡介
ngrok相當於一個反向代理,用於轉發請求,服務端必須只有一個,客戶端可以有許多個
2. 準備工作
因爲Ngrok是go語言寫的所有需要安裝golang
yum -y install gcc  git golang
3. Ngrok安裝
git clone https://github.com/inconshreveable/ngrok.git
也可以去githup上手動下載
![](http://i2.51cto.com/images/blog/201712/25/c48f6adfdcfaa8166f436bc8752e2798.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4. 更改ngrok域名
主機記錄加 一條* 或者ngrok
![](http://i2.51cto.com/images/blog/201712/25/7d4b9b863ddfd58c165621443718acb6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
5. 生成證書
進入ngrok下載的目錄,,我這裏是已經生成過證書的,所有大家不要擔心咱倆的不一樣
![](http://i2.51cto.com/images/blog/201712/25/a7cfe70bf08310cba929b8402d1d2820.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
openssl genrsa -out rootCA.key 2048 
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=域名" -days 5000 -out rootCA.pem openssl genrsa -out device.key 2048 
openssl req -new -key device.key -subj "/CN=域名" -out device.csr 
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
#####此處的域名爲 在A記錄你解析的域名,假如是 csongcan.com 這裏你可以填寫 chen.cosngcan.com或者其他的,前面那個chen你可以隨意變換
![](http://i2.51cto.com/images/blog/201712/25/869c794ce41e05dee74ab3ab0ac1e675.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6. 拷貝文件
把證書拷貝到指定目錄下
\cp rootCA.pem assets/client/tls/ngrokroot.crt 
\cp device.crt assets/server/tls/snakeoil.crt 
\cp device.key assets/server/tls/snakeoil.key
7. 編譯
#win服務端
GOOS=windows GOARCH=amd64
#win客戶端
GOOS=windows GOARCH=amd64
#linux服務端
make release-server
#linux客戶端
make release-client
編譯成功結果如下
![](http://i2.51cto.com/images/blog/201712/25/a8f75ea39c20cb4541dd629e4a969996.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
8. 服務端 客戶端
白圈的是客戶端  黃圈的是服務端
![](http://i2.51cto.com/images/blog/201712/25/ab949259d004ed6589a96d7a32abf41a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
把客戶端拷貝到指定的一個虛擬機裏 可以在本地虛擬機用rsync拉過來 
9. 服務端啓動
/mnt/xvdb/ngrok/ngrok/bin/ngrokd -domain=chen.csongcan.com -httpAddr=:8080 -httpsAddr=:802
httpAddr需要找一個不存在的端口  httpsaddr也找一個不存在的端口
10. 客戶端啓動
當你拷貝到本地虛擬機了之後,進入目錄創建一個ngrok.cfg文件
server_addr: ngrok.moonwalker.me:4443
trust_host_root_certs: false
tunnels:
ssh:
remote_port: 1122
proto:
tcp: 22
http:
subdomain: 360 
proto:
http: 80
寫入ngrok.cfg文件裏去
然後啓動 ./ngrok --config=./ngrok.cfg --start-all 注意,這個軟件不可以使用nohup後臺運行
可以使用screen 運行在後臺。

(純手敲)
Ngrok內網穿透服務搭建
#####各位老鐵可以鼓勵鼓勵我######

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章