搭建自己的 Ngrok 服务

docker compose

docker-ngrok:
  image: daocloud.io/library/golang:1.4.2
  command: nohup /usr/ngrok/bin/ngrokd -domain="monogogo.cn" -httpAddr=":4040" &
  privileged: false
  restart: always
  ports:
  - 4040:4040
  volumes:
  - /usr/docker-volume/ngrok:/usr/ngrok

部署ngrok服务

  • step1
cd ~
git clone https://github.com/inconshreveable/ngrok.git
  • step2
cd ngrok
mkdir cert
cd cert
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=monogogo.cn" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=monogogo.cn" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
  • step3
cp rootCA.pem ../assets/client/tls/ngrokroot.crt
cp device.crt ../assets/server/tls/snakeoil.crt
cp device.key ../assets/server/tls/snakeoil.key
  • step4
make release-server 
make release-client
  • step5
./bin/ngrokd -domain="monogogo.cn" -httpAddr=":80" -httpsAddr=":443"