700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 搭建ngrok内网穿透服务器

搭建ngrok内网穿透服务器

时间:2022-06-05 05:24:12

相关推荐

搭建ngrok内网穿透服务器

服务器环境:ubuntu20.04 (需要有外网IP)

客户端环境:ubuntu20.04 (也可以是windows和Mac)

1、安装golang和git

sudo apt install golang git

安装完成,未防止go的版本太新编译不过,需关闭module模式(因为源码很老)

还好目前apt安装的golang是1.3版本也比较老,也直接使用

#关闭module模式

go env -w GO111MODULE=off

2、下载ngrok源码 (已停更很久,有知道新的稳定的,麻烦告知一下)

git clone /inconshreveable/ngrok.git ~/ngrok

有时可能会下载失败,多试几次就可以了

3、生成证书需要用到域名,去腾讯云申请个几块的就可以了

依次执行下来命令即可 ,其中you.domain 替换成申请的域名

cd ~/ngrok#生成证书NGROK_DOMAIN="you.domain"openssl genrsa -out base.key 2048openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pemopenssl genrsa -out server.key 2048openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csropenssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt#替换证书cp base.pem assets/client/tls/ngrokroot.crtcp server.crt assets/server/tls/snakeoil.crtcp server.crt assets/server/tls/snakeoil.crt

4、编译linux服务端和客户端

make release-server release-client

编译可能会有一些包clone失败,多试几次就可以

编译完成会在bin里生成服务端程序ngrokd 和客户端 ngrok

5、编译win、mac客户端

(1)windows

GOOS=windows GOARCH=amd64 make release-client

(2)mac

GOOS=darwin GOARCH=amd64 make release-client

6、启动服务器

sudo ./bin/ngrokd -httpAddr=:8080 -httpsAddr=:8443 -tunnelAddr=:14443

也可直接 sudo ./bin/ngrokd 启动,默认值-httpAddr=:80-httpsAddr=:443-tunnelAddr=:4443

7、启动客户端

创建配置文件 ngrok.cfg,根据需要写入以下内容

server_addr: "you.domain:14443"trust_host_root_certs: false tunnels:ssh:remote_port: 9022proto:tcp: "127.0.0.1:22"svn:remote_port: 13690proto:tcp: "127.0.0.1:3690"

启动客户端

./ngrok -config=ngrok.cfg start ssh svn

8、设置为系统程序,并后台运行

在/etc/systemd/system/目录下创建服务ngrok.service,内容为

服务端

[Unit]Description=ngrokAfter=network.target[Service]ExecStart=/home/eagle/ngrok/ngrokd -httpAddr=":8080" -httpsAddr=":8443" -tunnelAddr=:4443[Install]WantedBy=multi-user.target

客户端

[Unit]Description=ngrokAfter=network.target[Service]ExecStart=/home/eagle/ngrok/ngrok -config=/home/eagle/ngrok/ngrok.cfg -log=/home/eagle/ngrok/log/ngrok.log start ssh svn[Install]WantedBy=multi-user.target

参考:

10分钟教你搭建自己的ngrok服务器_Small-Young的博客

内网穿透-Ngrok服务器搭建教程

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。