一:编辑作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做: 1:找到一台运行于外网的Web服务器 2:服务器上有网站所需要的环境,否则自行搭建 3:将网站部署到服务器上 4:调试结束后,再将网站从服务器上删除 二:只不过是想向朋友展示一下网站而已,要不要这么麻烦,累感不爱╰(`□′)╯ 有了ngrok之后,世界是如此的美好只需要启动ngrok,你会得到一串网址,通过这个网址就可以访问你本地的Web服务了
系统:centos7 64位
1:一个公网服务器(阿里云,腾讯云) 2:一个域名(顶级域名二级域名… 都可以)
1:进入linux的usr目录
cd ../usr2:下载源码
git clone https://github.com/inconshreveable/ngrok.git1:第四行代码中的域名改成自己的域名如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 50002:替换(提示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.key1:生成服务端与客户端目录(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-client2:编译服务端与客户端(切换回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 TUNNEL4:点击bat文件启动
1:最接地气的Ngrok服务器搭建教程 2:10分钟教你搭建自己的ngrok服务器