伺服器:centos 7.x
客戶機:centos 7.x
正常解析的網域名稱:mydoyou.cn
[root@ngrokd ~][root@ngrokd ~]
# yum install gcc git -y
[root@ngrokd ~]
# wget
[root@ngrokd ~]
# tar -zxvf go1.8.linux-amd64.tar.gz -c /usr/local
[root@ngrokd ~]
# echo "export goroot=/usr/local/go" >>/etc/profile
[root@ngrokd ~]
# echo "export path=\$path:\$goroot/bin " >>/etc/profile
[root@ngrokd ~]
# source /etc/profile
# cd /usr/local/src/
[root@ngrokd src]
# git clone
[root@ngrokd src]
# cd /usr/local/src/ngrok
[root@ngrokd ngrok]
# export ngrok_domain="mydoyou.com"
[root@ngrokd ngrok]
# openssl genrsa -out rootca.key 2048
[root@ngrokd ngrok]
# openssl req -x509 -new -nodes -key rootca.key -subj "/cn=$ngrok_domain" -days 5000 -out rootca.pem
[root@ngrokd ngrok]
# openssl genrsa -out device.key 2048
[root@ngrokd ngrok]
# openssl req -new -key device.key -subj "/cn=$ngrok_domain" -out device.csr
[root@ngrokd ngrok]
# openssl x509 -req -in device.csr -ca rootca.pem -cakey rootca.key -cacreateserial -out device.crt -days 5000
[root@ngrokd ngrok]
# \cp rootca.pem assets/client/tls/ngrokroot.crt
[root@ngrokd ngrok]
# \cp device.crt assets/client/tls/snakeoilca.crt (這一步原作者及網上大部分教程沒有,但是我操作的時候開始沒加,會報證書錯誤,卡了好久)
[root@ngrokd ngrok]
# \cp device.crt assets/server/tls/snakeoil.crt
[root@ngrokd ngrok]
# \cp device.key assets/server/tls/snakeoil.key
## 編譯服務端、客戶端二進位制檔案
[root@ngrokd ngrok]
# goos=linux goarch=amd64 make release-server
[root@ngrokd ngrok]
# goos=linux goarch=amd64 make release-client
[root@ngrokd ngrok]
# ll bin/
total 21964
-rwxr-xr-x 1 root root 2527810 mar 12 16:20 go-bindata
-rwxr-xr-x 1 root root 11101496 mar 12 16:27 ngrok #(客戶端)
-rwxr-xr-x 1 root root 8855200 mar 12 16:27 ngrokd #(服務端)
# 啟動服務端
#如果需要編譯其它客戶端,可以修改goos引數,如下在編譯客戶端的時候需要指明對應的作業系統和構架:
#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
[root@ngrok-client ~]
# cat /etc/ngrok/ngrokd.cfg
#新建客戶端配置檔案ngrokd.cfg
server_addr: "mydoyou.cn:4443"
## 4443 預設的監控埠
#網域名稱需要解析
## http 埠 httpaddr=":80"
#網域名稱需要解析
## https 埠 httpsaddr=":443"
ssh:
remote_port: 10022
proto:
tcp: "22"
啟動客戶端
[root@ngrok-client ~]
# ngrok -config=ngrok.cfg -log=ngrok.log start-all
## start-all表示啟動所有配置,也可以單獨指定 如 替換成
內網穿透Ngrok安裝
參考資料 domain表示使用的父網域名稱 後面在ngrok客戶端配置的 網域名稱是該網域名稱的子網域名稱 docker做埠對映時,為了支援tcp 如ssh登入,需要除了ngrok和ngrokd連線的埠 http https埠外,還需要額外的埠修改 etc hosts檔案 增加如下配置 以便通過ss...
ngrok內網穿透教程
由於開發web專案,經常需要將本地部署的 讓外網能直接訪問到,最便捷的做法當然是在adsl路由器上直接做埠對映,很不幸大部分運營商都遮蔽了80等常用埠,曾經的做法是在公網一台vps上架設openvpn,將筆記本和vps連到乙個虛擬區域網,再用iptables做埠 來達到目的,雖然可行,但速度比較慢,...
Ngrok搭建內網穿透
什麼是ngrok ngrok是一款用go語言開發的開源軟體,它是乙個反向 它可以通過乙個公共的斷點和本地執行的web伺服器建立乙個安全通道,實現內網穿透功能。情況一 無外網網域名稱,使用二級網域名稱 mac os linux amd64 windows x64 linux arm 解壓 在linux...