天天看點

ngrok配置資訊_windows下ngrok服務配置

ngrok配置,分為用戶端和服務端:

服務端配置稍微麻煩點,用戶端相對簡單,下面總結一下安裝過程中遇到的一些問題:

1 下載下傳golang安裝包,下載下傳位址:https://golang.org/dl/,配置go的環境變量,安裝過程中會自動添加goroot環境變量

2 下載下傳git,下載下傳位址:https://git-scm.com/

3 通過下載下傳ngrok:git clone https://github.com/inconshreveable/ngrok.git

4 進入ngrok目錄,編譯 cd ngrok && make(make指令是linux下的,如果想要在windows下使用,可以下載下傳Cygwin轉換,配置環境變量path:D:\CygwinPortable\App\Cygwin\bin)

報錯

ngrok配置資訊_windows下ngrok服務配置

解決辦法:修改ngrok下的makefile檔案;

a、将 export GOPATH:=$(shell pwd)

改為 export GOPATH:=ngrok源碼路徑

b、将 bin/go-bindata:

GOOS="" GOARCH="" go get github.com/jteeuwen/go-bindata/go-bindata

這段改為 bin/go-bindata:

GOOS=windows GOARCH=amd64 go get github.com/jteeuwen/go-bindata/go-bindata

c、修改log4go的路徑

修改src\ngrok\log\logger.go中log4o那段代碼為

log "github.com/keepeye/log4go"

如果找不到go-bindata,需要下載下傳https://github.com/jteeuwen/go-bindata.git

d、編譯make執行:

ngrok配置資訊_windows下ngrok服務配置

說明已經生成ngrok的用戶端和服務端執行檔案,這樣建構出的是debug版本

cmd執行

make release-all;

ngrok配置資訊_windows下ngrok服務配置

release版本;

debug版本與release版本的差別在于debug版本不打包 assets下的資源檔案,執行時通過檔案系統通路。

5、 進入ngrok目錄,生成證書:

openssl genrsa -out rootCA.key 2048

openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem

這一步報錯

ngrok配置資訊_windows下ngrok服務配置

這裡的”/“需要進行轉譯

$NGROK_DOMAIN改為自己的域名,下面的一個也是如此

openssl req -x509 -new -nodes -key rootCA.key -subj "//CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem

openssl genrsa -out device.key 2048

openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr

openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

ngrok配置資訊_windows下ngrok服務配置

注冊成功

執行以下指令,将對應證書放到用戶端和服務端的目錄下

cp rootCA.pem assets/client/tls/ngrokroot.crt

cp device.crt assets/server/tls/snakeoil.crt

cp device.key assets/server/tls/snakeoil.key

6、編譯服務端:make release-server

啟動服務端:

bin/ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":8000"

啟動成功

ngrok配置資訊_windows下ngrok服務配置

7、編譯用戶端

make release-client

為用戶端添加配置檔案:ngrok.cfg

./ngrok -config=./ngrok.cfg -subdomain=test 80,執行指令,啟動用戶端

ngrok配置資訊_windows下ngrok服務配置

聯通成功,這裡的ngrok指令即用戶端的ngrokexe,注意路徑