从零开始搭建自己的ngrok服务

本文详细介绍如何利用一级域名和公网IP的Linux服务器配置ngrok,实现内网穿透,包括域名解析、证书生成、服务端与客户端编译及启动流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

ngrok是一个能做内网穿透的工具,是开发微信公众号的一个必不可少的工具。


需要的东西:

  1. 一个一级域名
  2. 一台有公网IP的linux服务器

简单说下如何配置:

1.假设你已经有一级域名了,进入到域名管理

百度云
百度云域名管理界面

 

2.添加一个解析规则,测试添加的二级域名是 ngrok.xxx.comngrok可以随便取,为了方便记忆取这个名,xxx.com为你的域名,记录值为你放ngrok的服务器公网地址,ngrok.xxx.com即为NGROK_BASE_DOMAIN

 3.再添加一个域名为test.ngrok.xxx.com,至此域名部分操作已经完成。

 4.(服务器操作部分)在公网linux服务器上面安装Golang和git。

          ngrok是用Go写的,后面需要根据源码打包客户端出来,git主要用来下载ngrok的源码。

          使用到的2条Cetos下的安装命令:

yum install -y go 
yum install -y git

5.下载源码(此处使用非官方地址,修复了部分包无法获取(摘自网络))

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

             下载完成后,目录结构长这样

 6.生成自签名证书

ngrok.xxx.comNGROK_BASE_DOMAIN(拷贝时记得替换成你的)(摘自网络)

NGROK_DOMAIN="ngrok.xxx.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.crt
cp base.pem assets/client/tls/ngrokroot.crt

     7.编译服务端

      make release-server release-client

 8.启动服务

    仅提供一种最简单的方式:

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="ngrok.xxx.com" -httpAddr=":80" -httpsAddr=":443"
启动后截图

9.编译客户端 

     (1) windows

GOOS=windows GOARCH=amd64 make release-client

下载编译好的客户端,截图目录下的ngrok.exe文件

客户端会生成在bin目录下

    (2)mac

GOOS=darwin GOARCH=amd64 make release-client

 10.启动客户端

      与ngrok.exe同级建立一个新文件ngrok.cfg。文件内容如下:

server_addr: "ngrok.xxx.com:4443"  
trust_host_root_certs: false

 

    ps:记得开放公网服务器的4443端口

   新建一个启动的脚本start.bat(名字随意),内容如下

   大致意思为:将子域名test.ngrok.xxx.com的访问请求,转至本地的8080端口。

@echo on
cd %cd%
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=test.ngrok.xxx.com 8080
启动start.bat,如图则成功

 

打开浏览器,访问test.ngrok.xxx.com即可成功访问本地8080项目。

参考博客:

10分钟教你搭建自己的ngrok服务器  https://blog.youkuaiyun.com/yjc_1111/article/details/79353718

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值