不用花生殼、nat123等內網穿透軟件的原因:
1、免費的限制多
2、收費的價格高
自己搞個網站、博客什么的成本高了自然不合適,當然土豪另當別論了。
此次方案:279元/3年(購買雲主機) 自己手動實現無限制內網穿透
1、免費的限制多
2、收費的價格高
自己搞個網站、博客什么的成本高了自然不合適,當然土豪另當別論了。
此次方案:279元/3年(購買雲主機) 自己手動實現無限制內網穿透
一、前提條件
1、需要一台服務器
這里推薦阿里雲,1核2G 現在價格3年只要279元(相當的便宜啊!)
這里推薦阿里雲,1核2G 現在價格3年只要279元(相當的便宜啊!)
3年只要279元
建立自己的網站,打造自己的博客,只差一個雲主機,阿里雲3年279元 你值得擁有 趕緊點擊鏈接領取你的服務器吧!
https://promotion.aliyun.com/ntms/act/group/team.html?group=sl3S60iPJ7
2、購買好之后:
域名解析配置*.ngrok和ngrok
本機環境變量配置
vim /etc/profile export NGROK_DOMAIN="ngrok.yourdomain.com"
紅色的改成你自己的域名
本機安裝ngrok所需lib安裝
yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++ git
二、搭建ngrok內網穿透
這里原理就不詳述了,可自行百度!
1、安裝go語言
//請下載合適自己的go語言包 我是centos 6.8 64位 所以選擇以下包 wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz vim /etc/profile //添加以下內容: export PATH=$PATH:/usr/local/go/bin source /etc/profile //檢測是否安裝成功go go version
2、下載ngrok源碼包
github地址:https://github.com/inconshreveable/ngrok
//創建目錄 mkdir /ngrok cd /ngrok git clone https://github.com/inconshreveable/ngrok.git
3、生成證書
cd /ngrok
mkdir cert
cd cert
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.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 rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
4、覆蓋證書
cp rootCA.pem /ngrok/ngrok/assets/client/tls/ngrokroot.crt #復制rootCA.pem到assets/client/tls/並更名為ngrokroot.crt cp server.crt /ngrok/ngrok/assets/server/tls/snakeoil.crt #復制server.crt到assets/server/tls/並更名為snakeoil.crt cp server.key /ngrok/ngrok/assets/server/tls/snakeoil.key #復制server.key到assets/server/tls/並更名為snakeoil.key
5、編譯生成ngrokd
cd /ngrok/ngrok
go env //查看環境
GOOS=linux GOARCH=amd64 make release-server
6、測試運行
cd /ngrok/ngrok
./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="
ngrok.yourdomain.com" -httpAddr=":8081" -httpsAddr=":8082" -tunnelAddr=":8083"
紅色部分改成你的域名
7、后台運行
cd /ngrok/ngrok
setsid ./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="
ngrok.yourdomain.com" -httpAddr=":8081" -httpsAddr=":8082" -tunnelAddr=":8083"
這樣就可以讓服務跑在后台了
8、編譯客戶端
GOOS=windows GOARCH=amd64 make release-client #編譯成功后會在ngrok/bin/下面生成一個windows_amd64目錄下面有ngrok.exe #Linux 平台 32 位系統:GOOS=linux GOARCH=386 #Linux 平台 64 位系統:GOOS=linux GOARCH=amd64 #Windows 平台 32 位系統:GOOS=windows GOARCH=386 #Windows 平台 64 位系統:GOOS=windows GOARCH=amd64 #MAC 平台 32 位系統:GOOS=darwin GOARCH=386 #MAC 平台 64 位系統:GOOS=darwin GOARCH=amd64 #ARM 平台:GOOS=linux GOARCH=arm
9、運行客戶端
將編譯好的客戶端下載到本地,客戶端的目錄在
在這個目錄下有個ngrok.exe下載下來
在ngrok.exe的同級目錄下,新建一個ngrok.cfg和start.bat兩個文件
ngrok.cfg內容
server_addr: "myngrok.com:8083" trust_host_root_certs: false
start.bat內容
ngrok -config=ngrok.cfg -subdomain=test 80
紅色的是域名的前綴,可以自己定義
執行start.bat
//出現以下內容表示成功鏈接: ngrok Tunnel Status online Version 1.7/1.7 Forwarding http://test.ngrok.yourdomian.com:8081 -> 127.0.0.1:80 Forwarding https://test.ngrok.yourdomain.com:8081 -> 127.0.0.1:80 Web Interface 127.0.0.1:4040 # Conn 0 Avg Conn Time 0.00ms
本文參考:
https://segmentfault.com/a/1190000010338848
https://blog.csdn.net/zhangguo5/article/details/77848658?utm_source=5ibc.net&utm_medium=referral