搭建内网穿透的ngrok服务器

要求:要有备案的域名,和可测试的服务器。

1.给域名添加两条a记录,

ngrok.heyintec.com 和 *.ngrok.heyintec.com 分别都指向42.192.120.161(我自己的服务器)

2.在服务器上安装go环境和ngrok

a.先安装go

wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz

#解压缩到/usr/local目录

tar -C /usr/local -xzf go1.8.linux-amd64.tar.gz

#修改环境变量

vi /etc/profile

export PATH=$PATH:/usr/local/go/bin

source /etc/profile

#查看go是否安装成功

go version

b.再来安装ngrok

#下载到源码到/usr/local目录

cd /usr/local/

git clone https://github.com/inconshreveable/ngrok.git

cd ngrok

#生成ssl证书

export NGROK_DOMAIN="ngrok.heyintec.com"

#指定go执行路径

export GOPATH=/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

#移动证书,记住要覆盖 输入y

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

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

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

3.编译生成服务端和客户端

#服务端,linux系统GOOS=linux,64位系统GOARCH=amd64,32位系统GOARCH=386

GOOS=linux GOARCH=amd64 make release-server

#客户端,我这里是mac

GOOS=darwin GOARCH=amd64 make release-client

#客户端linux

GOOS=linux GOARCH=amd64 make release-client

#客户端windows

GOOS=windows GOARCH=amd64 make release-client

然后在ngrok的bin目录将会生成不同的可执行文件。

4.启动服务端

#在ngrok的bin目录,以守护进程启动ngrokd服务

nohup ./ngrokd -domain="ngrok.heyintec.com" -httpAddr=":8090" -httpsAddr=":8091" -tunnelAddr=":8092" &

5.启动客户端

我们把客户端文件下载到对应的机器上,比如我给拉到自己的mac电脑

在mac上新建一个针对ngrok客户端的配置文件 ngrok.cfg

bash 复制代码
server_addr: "ngrok.heyintec.com:8092"

trust_host_root_certs: false

#命令行启动客户端

#映射子域名wx,也就是wx.ngrok.heyintec.com:8092 到内网本地的127.0.0.1:8083 端口

./ngrok -config ngrok.cfg -subdomain wx 127.0.0.1:8083

相关推荐
_别来无恙_8 小时前
TFTP的使用Linux
linux·服务器
gaize12138 小时前
Moltbot(Clawdbot) 专属轻量服务器
运维·服务器
Zaralike8 小时前
Linux 服务器网络不通排查 SOP(标准操作流程)
linux·服务器·网络
getapi9 小时前
注塑件的费用构成
linux·服务器·ubuntu
Maynor9969 小时前
OpenClaw 玩家必备:用 AI 自动追踪社区最新动态
java·服务器·人工智能
郝学胜-神的一滴9 小时前
深入解析C/S模型下的TCP通信流程:从握手到挥手的技术之旅
linux·服务器·c语言·网络·网络协议·tcp/ip
“αβ”10 小时前
数据链路层协议 -- 以太网协议与ARP协议
服务器·网络·网络协议·以太网·数据链路层·arp·mac地址
Thera77710 小时前
【Linux C++】彻底解决僵尸进程:waitpid(WNOHANG) 与 SA_NOCLDWAIT
linux·服务器·c++
呉師傅11 小时前
【使用技巧】Adobe Photoshop 2024调整缩放与布局125%后出现点菜单项漂移问题的简单处理
运维·服务器·windows·adobe·电脑·photoshop
getapi11 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu