使用Ngrok实现内网穿透|附国内免费服务器
使用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=.:GOROOT/bin:GOROOT/bin:GOROOT/bin:PATH
使用:wq保存退出
vim /etc/profile #修改配置文件
source /etc/profile #刷新配置
生成证书
- 进入到第一步下载的ngrok源码根目录,执行以下命令,会在当前文件夹生成六个文件
openssl genrsa -out rootCA.key 2048openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pemopenssl genrsa -out server.key 2048openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csropenssl 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
使用Ngrok实现内网穿透|附国内免费服务器相关推荐
- Ngrok(内网穿透工具)使用教程详解
简介 国内Ngrok官网地址 Ngrok是什么? ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道 ngrok 可捕获和分析所有通道上的流量,便于后期分析 ...
- Ngrok: 使用 Ngrok 实现内网穿透
Jan 10,2017 in 教程 read (14235) | 百度已收录 | Author: Leonn 目录 背景 NAT 穿透原理 一个栗子 Ngrok 准备工作 编译服务端 服务端 测试连接 ...
- 使用工具ngrok 实现内网穿透(免费)
使用工具ngrok 实现内网穿透 工具下载:ngrok下载,提取码:5555 使用:
- Cpolar实现虚拟机内网穿透,搭建私人云服务器
Cpolar实现虚拟机内网穿透,搭建私人云服务器 一.Cpolar功能介绍 Cpolar官网 Cpolar是一个安全的内网穿透的服务,可以将内网下的本地服务器通过安全隧道暴漏给公网.允许公网用户可 ...
- frp点对点udp方式内网穿透ssh,不走服务器流量
frp点对点udp方式内网穿透ssh,不走服务器流量 (2019 年 5 月 30 日) frp ssh 安全连接和服务器安全设置 (2019 年 5 月 29 日) frp 控制台监控dashboa ...
- Ngrok 实现内网穿透教程(Ngrok 和 Sunny-Ngrok )
ngrok是什么我这边就不多介绍了,百度一找一大堆.你可以把它理解为内网穿透的工具.(简而言之就是将内网IP映射成对外可访问的域名) Ngrok使用流程如下: 从https://ngrok.com/ ...
- 用ngrok做内网穿透
背景 很多时候,我们都有这样的需求:需要将本地正在开发的服务暴露在公网上,也就是从外网直接访问我们本机上的服务. 正常情况下,这是办不到的,因为我们的本机并没有公网 IP,我们的本机处在内网当中. N ...
- CentOS7下使用ngrok搭建内网穿透服务器
目录 1.简介 1 2. 必要条件 2 2.1.ngrok服务器 2 2.2.域名 2 2.3.ngrok客户端 2 3. 安装依赖包 2 4. 安装golang 2 5. 下载ngrok源码 3 6 ...
- ngrok实现内网穿透,让家里的笔记本也能做服务器
背景 家里淘汰了一台笔记本,windows系统装起来很卡,于是装了个linux系统.这台笔记本有2G内存,奔腾双核处理器,配置比我在阿里云上买的ECS高多了,于是想着给它利用起来.研究了一下,发现ng ...
- 废旧Android手机搭建个人服务器:ksweb搭建Web服务器+Termux、Ngrok实现内网穿透
写在前面: 本篇博客介绍利用废旧手机搭建一个服务器,可以放自己的网页搭建网站 之前闲着没事,低价买了个虚拟主机,放了自己的静态网页,搭建了个人博客引导网站,后来虚拟主机被打死,凑巧了解到相关知识,于是 ...
最新文章
- github分段下载
- linux常用命令(grep/cut/sed/which)
- java中array_Java 中的array数组总结之一
- python 把带小数的浮点型字符串转换为整数的解决方案
- spark知识点八万字长文最全汇总和高频面试题目
- 字符串对比 (STl强制转换字符串)
- HarmonyOS之组件通用的XML属性总览
- yaml 数组_接口测试:A01_HttpRunner基础_05_YAML格式测试用例
- 抖音同款表白神器(按钮漂移)
- 十分钟弄懂最快的APP自动化工具uiautomator2
- 开课吧:深入了解软件开发原则有哪些?
- jQuery加载js脚本
- Socket 学习(三).5 UDP 的弱点
- 前端程序员也需要知道进程和线程
- 转载:获取数据库中的所有表 (C#实现)
- vscode html 英文感叹号(!+ tap)快速模板 骨架 无法使用 替代办法
- 吃饭,睡觉,打豆豆任务二
- 需要一个自习室系统,包括收费、灯控、会员管理、微信及前端订座、一卡通终端,会做的私信我,有偿。
- 802.11ac双频
- keypair java_Java KeyPairGenerator genKeyPair()用法及代码示例