公司差事,花生殼限制太多,網路頻寬,終端連線數等等,看看了看手頭資源還行,自己搭一套
資源情況
1、伺服器一台 pc機也行,我用的虛擬機器,最主要是要有固定的公網出口
2、網域名稱乙個,看資料是說不用網域名稱也可以搞,但是既然有網域名稱了,咱就不費勁了~~
開始安裝
1、git安裝
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++
tar -zxvf go1.12.4.linux-amd64.tar.gz /usr/local/
目錄下即可看見 go 的目錄
#go的命令需要做軟連線到/usr/bin
ln -s /usr/local/go/bin/* /usr/bin/
設定全域性的環境變數
export goroot=/usr/local/go
export gopath=\$home/go
export path=\$path:\$goroot/bin
使環境生效
source /etc/profile
好了 到這 我們的go安裝完了 檢測安裝是否安裝成功
go version
go env
3、安裝ngrok
為了查詢方便 也安裝到local目錄下
cd /usr/local/
配置 ngrok的環境變數
export gopath=/usr/local/ngrok/
#這裡寫你自己的網域名稱,不要字首,比如www.abc.com 填寫abc.com (網域名稱已備案)
export ngrok_domain="abc.com"
4.生成ngrok證書並覆蓋原有的證書
cd /usr/local/ngrok
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
以上這個命令是拷來的 不必介意 就是生成證書的
覆蓋證書
cp -y rootca.pem assets/client/tls/ngrokroot.crt
cp -y server.crt assets/server/tls/snakeoil.crt
cp -y server.key assets/server/tls/snakeoil.key
到此 安裝配置結束
生成服務端
進入ngrok的目錄
cd /usr/local/ngrok/
執行生成服務端 其中amd64代表64位的linux系統 如果是32位的 改為:goarch=386
goos=linux goarch=amd64 make release-server
生成成功後 會在ngrok的bin下有乙個ngrokd資料夾 即代表成功
生成客戶端
和服務端一樣
cd /usr/local/ngrok/
goos=windows goarch=amd64 make release-client
會在ngrok的bin下有乙個windows_amd64資料夾 即代表成功
下面是不同系統生成不同客戶端的版本 替換goods 和goarch的值即可
#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
服務端的啟動
在ngrock下執行
./bin/ngrokd -tlskey=server.key -tlscrt=server.crt -domain="abc.club" -httpaddr=":80" -httpsaddr=":443" -tunneladdr=":4443"
引數說明:
#-domain 訪問ngrok是所設定的服務位址生成證書時那個
#-httpaddr http協議埠 預設為80
#-httpsaddr https協議埠 預設為443
#-tunneladdr 通道埠 預設4443
內網穿透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...