第一次發個博客好激動啊,總之(@¥%#¥%¥#@……#¥……%@#%¥&%……&¥%……!#¥#%%¥@……%¥&%……*@#%@!#¥@!¥#!¥#!……此處省略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 運行在後臺。
(純手敲)
#####各位老鐵可以鼓勵鼓勵我######