搭建ngrok服务器(搭建内网穿透服务器)

tech2022-12-20  78

搭建ngrok服务器(内网穿透服务器)

一:为什么要使用ngrok?

一:编辑作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做: 1:找到一台运行于外网的Web服务器 2:服务器上有网站所需要的环境,否则自行搭建 3:将网站部署到服务器上 4:调试结束后,再将网站从服务器上删除 二:只不过是想向朋友展示一下网站而已,要不要这么麻烦,累感不爱╰(`□′)╯ 有了ngrok之后,世界是如此的美好只需要启动ngrok,你会得到一串网址,通过这个网址就可以访问你本地的Web服务了

二:搭建ngrok服务器

1:开发环境

系统:centos7 64位

2:准备工作

1:一个公网服务器(阿里云,腾讯云) 2:一个域名(顶级域名二级域名… 都可以)

3:安装git和go以及其它依赖

yum install gcc mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386 -y

4:下载源码

1:进入linux的usr目录

cd ../usr

2:下载源码

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

5:生成证书

1:第四行代码中的域名改成自己的域名如ngrok.xingzhe.cloud,abc.xingzhe.cloud,www.baidu.com

cd ngrok mkdir cert cd cert export NGROK_DOMAIN="ngrok.xingzhe.cloud" 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 device.key 2048 openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

2:替换(提示overwrite输入y,一行一行复制粘贴)

cp rootCA.pem ../assets/client/tls/ngrokroot.crt cp device.crt ../assets/server/tls/snakeoil.crt cp device.key ../assets/server/tls/snakeoil.key

三:编译服务端与客户端

1:生成服务端与客户端目录(GOARCH=386是32位软件,GOARCH=amd64是64位软件)

<!--linux服务端/客户端--> GOOS=linux GOARCH=386 make release-server GOOS=linux GOARCH=amd64 make release-server GOOS=linux GOARCH=386 make release-client GOOS=linux GOARCH=amd64 make release-client <!--Mac OS服务端/客户端--> GOOS=darwin GOARCH=386 make release-server GOOS=darwin GOARCH=amd64 make release-server GOOS=darwin GOARCH=386 make release-client GOOS=darwin GOARCH=amd64 make release-client <!--windows服务端/客户端--> GOOS=windows GOARCH=386 make release-server GOOS=windows GOARCH=amd64 make release-server GOOS=windows GOARCH=386 make release-client GOOS=windows GOARCH=amd64 make release-client

2:编译服务端与客户端(切换回ngrok目录,耐心等待下,有时候网络的原因会久些)

编译服务端

GOOS=linux GOARCH=amd64 make release-server

编译客户端

GOOS=windows GOARCH=amd64 make release-client

生成的客户端存放在服务器的"/ngrok/bin/"中,下载相应的ngrok客户端到达本地

四:启动

1:启动服务器:(切换回ngrok目录)

./bin/ngrokd -domain="ngrok.xingzhe.cloud" -httpAddr=":80" -httpsAddr=":443"

2:启动用户端 编写配置文件ngrok.cfg

<!--配置服务端连接地址,也就是基础域名。端口则与服务端-tunnelAddr配置相同--> server_addr: "ngrok.xingzhe.cloud:4443" trust_host_root_certs: false

通过本地黑窗体执行

ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=xz 8080

-config指向配置文件,-log存放日志文件位置,-subdomain为自定义的域名前缀,8080为本地端口号。

3:编写bat文件

@echo OFF color 0a Title 行者Ngrok启动 by:搬运工 Mode con cols=109 lines=30 :START ECHO. Echo ========================================================================== ECHO. Echo 行者Ngrok客户端启动工具 ECHO. Echo ========================================================================== Echo. echo. echo. :TUNNEL Echo 输入需要启动的域名前缀,如“123456” ,即分配给你的穿透域名为:“123456.ngrok.xingzhe.cloud” ECHO. ECHO. ECHO. set /p clientid= 请输入域名前缀: echo. set /p port= 请输入端口: ngrok -config=ngrok.cfg -subdomain %clientid% %port% PAUSE goto TUNNEL

4:点击bat文件启动

六:参考文档

1:最接地气的Ngrok服务器搭建教程 2:10分钟教你搭建自己的ngrok服务器

最新回复(0)