简单记一下ngrok内网穿透入门步骤(可以直接使用ip,不一定要域名)
内网穿透步骤:
1、安装go语言环境并配置环境。
2、下载ngrok源码(可上传源码或安装git下载源码 yum install git)
3、生成证书(本地生成)
4、用新证书替换旧证书
5、编译源码
6、生成对应客户端(window,Mac)
7、启动服务端
8、客户端配置、启动
9、启动本地web项目
10、大功告成,访问公网ip或 域名
一、安装go语言环境并配置环境。
1、下载go语言环境:
wget https://studygolang.com/dl/golang/go1.8.linux-amd64.tar.gz
2、解压:
tar -zxvf go1.8.linux-amd64.tar.gz
3、配置环境:vi /etc/profile 在profile里加上这两句话
export GOROOT=你的go解压地址
export PATH=$PATH:$GOROOT/bin
4、查看go是否安装成功:
go version
二、下载ngrok源码(可上传源码或安装git下载源码 yum install git)
1、安装git: yum install git (手动上传源码可省略)
2、找一个合适的目录下载ngrok源码:
git clone https://github.com/inconshreveable/ngrok.git (手动上传源码可省略)
三、生成证书(本地生成)
进入下载好或解压好的ngrok目录下 依次执行命令
openssl genrsa -out base.key 2048 (无脑复制粘贴)openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=xx.xx.xx.xx" -out base.pem (xx.xx.xx.xx为ip或域名)openssl genrsa -out server.key 2048 (无脑复制粘贴)openssl req -new -key server.key -subj "/CN=xx.xx.xx.xx" -out server.csr (xx.xx.xx.xx为ip或域名)echo subjectAltName = IP:xx.xx.xx.xx > extfile.cnf (xx.xx.xx.xx为ip或域名)openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -extfile extfile.cnf -days 10000 -out server.crt
四、用新证书替换旧证书
在下载好或解压好的ngrok目录下 执行覆盖替换
cp base.pem assets/client/tls/ngrokroot.crt
五、编译源码
在下载好或解压好的ngrok目录下 执行编译(有点久,几分钟)
make release-server release-client
(使用 ip 做域名时,随机生成的子域名导致地址错误 例如http://92832de0.1.1.1.1 -> localhost:80:解决办法就是改源码,去掉随机生成 ,在下载好或解压好的ngrok目录下找到src/ngrok/server/tunel.go文件修改源码位置:
// src/ngrok/server/tunel.go #89 行// Register for random URLt.url, err = tunnelRegistry.RegisterRepeat(func() string {return fmt.Sprintf("%s://%x.%s", protocol, rand.Int31(), vhost)}, t)
删掉 【%x.】 【rand.Int31(),】 以及该文件第一行引入的 【math/rand】,重新编译出服务端与客户端即可。)
六、6、生成对应客户端(window,Mac)
编译好源码后,生成客户端(本地电脑使用的)
在下载好或解压好的ngrok目录下 执行命令
GOOS=windows GOARCH=amd64 make release-client (windown系统)GOOS=darwin GOARCH=amd64 make release-client (mac系统)
七、启动服务端
在下载好或解压好的ngrok目录下 执行命令启动
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="xx.xx.xx.xx" -httpAddr=":80" -httpsAddr=":443"
(xx.xx.xx.xx为ip或域名,httpAddr、httpsAddr 分别是 ngrok 用来转发 http、https 服务的端口,可以随意指定。ngrokd 还会开一个 4443 端口用来跟客户端通讯(可通过 -tunnelAddr=”:xxx” 指定)。)
八、客户端配置、启动
将生成好的客户端(ngrok目录下 bin/windows_amd64/ngrok.exe),下载到本地发到自己喜欢的目录下
1、在本地同级目录下创建配置文件ngrok.cof内容如下:server_addr: "xx.xx.xx.xx:4443" (xx.xx.xx.xx为ip或域名)trust_host_root_certs: false
2、在本地同级目录下创建启动脚本startup.bat 内容如下:ngrok -config=ngrok.cfg -log=ngrok.log 8080 (8080为本地项目的端口可以任意改)
3、双击startup.bat 启动客户端
九、启动本地项目
自己操作,注意端口为上面的8080 可以任意改
十、访问公网ip或域名。
访问公网ip或域名就会转发到本地的8080项目上
十一、其他
服务器上ngrok后台运行
1、安装 yum install screen2、screen -S ngrok( -S后面的名字可以随便取)3、运行ngrok启动命令【./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="xx.xx.xx.xx" -httpAddr=":80" -httpsAddr=":443" 】4、直接关掉ssh窗口4、关闭ps -ef|grep screen 然后用kill
参考地址
https://blog.csdn.net/yjc_1111/article/details/79353718 (10分钟教你搭建自己的ngrok服务器)
https://blog.csdn.net/u010444106/article/details/80457985 (阿里云搭建自己的ngrok服务-实现内网穿透)
后面两个很有用
https://www.jianshu.com/p/d308b92e58ea(内网穿透 ngrok 服务器搭建与坑点)
https://blog.csdn.net/min19900718/article/details/87920254(x509: cannot validate certificate for 10.30.0.163 because it doesn't contain any IP SANs)
简单记一下ngrok内网穿透入门步骤(可以直接使用ip,不一定要域名)相关推荐
- ngrok内网穿透原理分析和实现
转载: ngrok内网穿透原理分析和实现 在互联网终端急剧增长的今天,公网ip已经成为稀缺资源,对于国内垄断的电信运营商来讲,更是不可能随便免费给你一个公网ip,许多家庭宽带都无法分配到 公网ip,又 ...
- ngrok 内网穿透
ngrok 内网穿透 下载客户端 根据你的个人电脑系统下载匹配的客户端. 下载地址: https://ngrok.com/download 启动 打开ngrok.exe 输入命令,开放端口 ngrok ...
- 华硕老毛子(Padavan)——Ngrok内网穿透解决方案
基本概念 Ngrok:ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.Ngrok是外国发布的一个开源项目,也有一个公开的运行服务,但被国内墙掉了.国内一 ...
- 小米球ngrok内网穿透
小米球ngrok内网穿透 目录 小米球ngrok内网穿透 背景 操作步骤 小米球官网,先注册,登陆 下载对应版本 系统管理-商品管理-商品列表开通 实名认证,注册版服务器两服务. 系统管理-账户管理- ...
- ngrok内网穿透工具搭建,方便微信公众号,小程序、钉钉等开发【已投入使用】
前言:微信公众号,小程序.钉钉等开发需要内网穿透工具. 1.经过不断的摸索和调试,完成ngrok内网穿透的工具的搭建,对于微信公众号,小程序.钉钉等开发提供便利性. 2.搭建环境Linux cento ...
- ngrok 内网穿透+实现远程桌面
最近公司电脑的teamviewer经常被中断,基本上没办法使用了.而且破解越来越难,破解后没多久又被检测到.所以我想着换另一种方案来实现远程控制,公司内网服务器没有公网ip,所以只能进行内网穿透.内网 ...
- 小米球配合usbw实现最简单最快速的内网穿透
小米球配合usbw简单实现内网穿透 1.https://manager.xiaomiqiu.com/登录后台注册一个账号拿到属于 ...
- 搭建解析内网 linux_Linux 搭建ngrok内网穿透
准备工作,需要有一台公网IP的服务器用来部署内网穿透的服务端 1.下载源码到GOPATH工作目录的src文件目录下 我的GOPATH是 /root/go/src/ cd /root/go/src/gi ...
- 如何让你的本地上的项目不用部署到服务器也能让外网看到?使用ngrok内网穿透实现
目录 前言 一.准备工作 二.安装ngrok运行环境 (liunx) 三.安装ngrok (liunx) 四.配置ngrok (liunx) 五.生成客户端和服务端并运行ngrok (liunx) 六 ...
最新文章
- 如何在 CentOS 7 中安装或升级最新的内核
- 在tomcat中部署web项目
- 批处理之显示隐藏文件
- C# WinFrom 去掉groupbox的边框
- linux禁止系统休眠,让linux系统休眠
- 2014.9.13模拟赛【数位和乘积】
- latex subfigure_latex-图片插入
- 10-1-数据库连接池
- 从714里连续减去6减几次得0_小学数学1—6年级基础知识整理 ,预习复习都能用...
- php upload 缓存_php-使用vich_uploader的liip_imagine无法创建缓存
- html{-webkit-text-size-adjust:none;}(取消浏览器最小字体限制)
- ADXL362 加速度传感器 模拟SPI MSP430G2553 单片机 读取 程序
- MUI在iPhone6P上闪退
- Linux系统下操作的常用快捷键
- 再见PanDownload ,下一个已经来了。
- php微信支付需要哪些设置,如何申请和配置微信支付接口?
- 解决PCL报错: Assertion `point_representation_->isValid (point) “Invalid (NaN, Inf) point coordinates
- 块交织器5×5 verilog设计及仿真实现
- 美团商家的数据指标体系是怎么做的?
- flutter flame基本结构