使用Ngrok实现内网穿透|附国内免费服务器

xiaoxiao2021-03-01  21

使用Ngrok实现内网穿透|附国内免费服务器

什么是内网穿透?Ngrok是什么?为什么需要内网穿透?使用ubuntu16搭建ngrok服务器下载ngrok源码安装go语言配置环境变量 生成证书编译启动测试福利

什么是内网穿透?

内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。简单来说,就是让身处局域网的电脑,被大家都能访问的技术。

Ngrok是什么?

Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。它是内网穿透的跳板之一。

为什么需要内网穿透?

如果你在自己电脑上搭建一个网站,你身处在局域网,你想让大家访问你,但是你没有外网IP,这时,你就需要一个跳板,实现内网穿透到外网环境,对于一个技术开发者,有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试,内网穿透就显得尤为重要。

使用ubuntu16搭建ngrok服务器

下载ngrok源码

创建一个目录,博主自己创建的是download更新安装包管理器安装git克隆源码 mkdir download #创建名称为download的目录 cd download #进入文件夹 apt-get update #更新包管理器 apt-get install git #安装git git clone https://github.com/inconshreveable/ngrok.git ngrok2 #将ngrok源代码克隆回本地

安装go语言

go语言版本必须是1.1的版本,可以去https://studygolang.com/dl 下载,下载tar.gz之后解压

wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz # 下载go语言 tar -zxvf go1.11.linux-amd64.tar.gz #解压tar包 mv go /usr/local/ #移动go语言

配置环境变量

使用vim命令修改配置文件,按A插入,然后把下面三句话粘贴在底部 export GOROOT=/usr/local/go export GOPATH=/usr/local/go/get_package #设置环境变量,Go语言的安装位置 export NGROK_DOMAIN=“ngrok.your.com” #设置环境变量,ngrok域名 export PATH=.: G O R O O T / b i n : GOROOT/bin: GOROOT/bin:PATH

使用:wq保存退出

vim /etc/profile #修改配置文件 source /etc/profile #刷新配置

生成证书

进入到第一步下载的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 转移证书 cp rootCA.pem assets/client/tls/ngrokroot.crt cp server.crt assets/server/tls/snakeoil.crt cp server.key assets/server/tls/snakeoil.key

编译

在下载的ngrok根目录编译

#在bin里面生成ngrok文件 make release-server release-client #win客户端 GOOS=windows GOARCH=amd64 make release-client

编译完成之后把bin目录下windows的启动工具下载下来

启动

在ngrok根目录执行以下命令启动,httpaddr和httpsaddr是你的服务器外网端口,可以自己修改,如果你使用的阿里云服务器或者其他云服务器,请在控制台服务界面把你开启的端口打开,同时打开4443端口。打开之后启动

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain=$NGROK_DOMAIN -httpAddr=":8081" -httpsAddr=":8082"

测试

在下载的客户端同级目录下新建一个配置文件ngrok.cfg,添加以下内容, 设置你配置的网址

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

使用cmd进入到下载的客户端目录,执行:

ngrok -config=ngrok.cfg -subdomain xxx 80 //(xxx 是你自定义的域名前缀)。

福利

如果你只是临时使用ngrok,并不需要搭建,那么巧了,本人已经使用阿里云搭建了一个ngrok,可以供大家临时使用,免费版的喔。

下载地址:http://www.imawen.com/content.html?id=26

转载请注明原文地址: https://www.6miu.com/read-3734504.html

最新回复(0)