Ngrok
https://ngrok.com/
1 2
| ./ngrok authtoken token密钥 ./ngrok http 端口
|
Sunny-Ngrok
https://www.ngrok.cc/
Ngrok私服
1 2
| apt-get install build-essential golang mercurial git git clone https://github.com/tutumcloud/ngrok.git ngrok
|
- 服务端编译
1 2 3 4 5 6 7
| cd ngrok NGROK_DOMAIN="ngrok.avan.com" openssl genrsa -out base.key 2048 openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.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 base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.cr
|
- 启动服务
1 2
| bin/ngrokd -tlsKey=server.key -tlsCrt=server.cr -domain="ngrok.avan.com" -httpAddr=":8000" -httpsAddr=":8443"
|
- 客户端编译
Windows
1
| GOOS=windows GOARCH=amd64 make release-client
|
Mac
1
| GOOS=darwin GOARCH=amd64 make release-client
|
执⾏对应的命令会在bin⽬录下⽣成相对应的windows、mac⽬录,ngrok.exe就存放在对应⽬录下。将对应的ngrok.exe下载到本地。
1 2
| ./ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=weixin 3000
|
1 2 3
| server_addr: "ngrok.avan.com:4443" trust_host_root_certs: false
|
- nginx反向代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| server { listen 80; server_name *.ngrok.avan.com; location / { proxy_pass http://127.0.0.1:8000; proxy_redirect off; proxy_set_header Host $http_host:8000; proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 1; proxy_send_timeout 120; proxy_read_timeout 120; } }
|
- 启动服务
配置ngrok服务
1 2 3 4 5 6 7 8 9
| [Unit] Description=ngrok After=network.target [Service] ExecStart=/root/ngrok/bin/ngrokd -tlsKey=server.key -tlsCrt=server.cr - domain="ngrok.josephxia.com" -httpAddr=":8000" -httpsAddr=":8443" [Install] WantedBy=multi-user.target
|
启动
1 2 3 4
| // ⼜⼀次载⼊ systemd,扫描新的或有变动的单元 systemctl daemon-reload // 启动ngrok systemctl start ngrok
|
Sidoc
https://www.sidoc.cn/frp.html