Centos7搭建Ngrok内网穿透
一、安装gcc和git(用于下载ngrok源码)
yum install gcc -y
yum install git -y
二、安装go语言环境
yum install -y mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386
三、检查环境安装
git --version //( >= 1.7 )
go version
四、在服务器上搭建Ngrok服务
1)、下载源码
cd /usr/local/git clone https://github.com/inconshreveable/ngrok.git
2)、生成证书
cd ngrok export NGROK_DOMAIN="ngrok.zhqwfj.xyz" //记得域名换成自己的openssl genrsa -out rootCA.key 2048openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pemopenssl genrsa -out device.key 2048openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csropenssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
3)、替换证书
//一行一行执行,然后会提示是否覆盖,输入 “y” 回车就可以了
cp rootCA.pem assets/client/tls/ngrokroot.crtcp device.crt assets/server/tls/snakeoil.crtcp device.key assets/server/tls/snakeoil.key
4)、生成服务端
GOOS=linux GOARCH=amd64 make release-server
5)、生成客户端
我的是window 64位,所以我生成的window版本,其他版本不知道对不对。
GOOS=windows GOARCH=amd64 make release-client //windows 64位
GOOS=windows GOARCH=amd64 make release-client //windows 32位GOOS=darwin GOARCH=386 make release-client //Mac OS 32位
GOOS=darwin GOARCH=amd64 make release-client //Mac OS 64位GOOS=linux GOARCH=amd64 make release-client //Linux 64位GOOS=linux GOARCH=arm make release-client //ARM 平台
服务端和客户端会在/usr/local/ngrok/bin
文件夹中生成如下文件
6)、启动服务端
cd /usr/local/ngrok./bin/ngrokd -domain="ngrok.zhqwfj.xyz" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"//或者./bin/ngrokd -domain="ngrok.zhqwfj.xyz"
- -domain : 域名
- -httpAddr :
ngrok
用来转发http
服务的端口,默认80
端口 - -httpsAddr :
ngrok
用来转发https
服务的端口,默认443
端口 - -tunnelAddr :
ngrok
用来跟客户端通讯的端口,默认4443
端口
7)、启动客户端
把/usr/local/ngrok/bin/windows_amd64
里面的文件下载到本地来,我放在了本地E:\Ngrok
文件夹里面。
然后在同级目录中创建ngrok.cfg
和start.bat
文件。
ngrok.cfg
文件内容
server_addr: "ngrok.zhqwfj.xyz:4443"
trust_host_root_certs: false
start.bat
文件内容
ngrok -config=ngrok.cfg -subdomain zhq 8080
// haiyang就是你想要访问域名的前缀
// 80表示本地需要穿透的端口
创建完成后双击start.bat
文件运行
这就表示已经成功了。
注意:前置条件配置域名解析和安全组策略
域名:按自己实际情况,如果想多用户可以*.ngrok
安全组:允许80 443 4443(安自己实际配置的为准)
8)、测试
五、将Ngrok(服务端)添加到系统服务
每次关闭Xshell
,服务就关掉了,总不能一直开着窗口吧,怎么才能后台运行呢或者安装成服务设置开机启动?
1)、新建ngrok.service文件
cd /usr/lib/systemd/system //进入目录cat >>ngrok.service //创建文件夹,回车后直接按`ctrl+d`vim ngrok.service //编辑文件
输入一下信息:
[Unit]
Description=Share local port(s) with ngrok
After=syslog.target network.target[Service]
PrivateTmp=true
Type=simple
Restart=always
RestartSec=1min
StandardOutput=null
StandardError=null
ExecStart=/usr/local/ngrok/bin/ngrokd -domain=ngrok.intolearn.com -httpAddr=:80 -httpsAddr=:443 -tunnelAddr=:4443 %i
ExecStop=/usr/bin/killall ngrok[Install]
WantedBy=multi-user.target
[Unit]
部分主要是对这个服务的说明
Description
用于描述服务After
用于描述服务类别
[Service]
部分是服务的关键,是服务的一些具体运行参数的设置
Type=forking
是后台运行的形式;User=users
是设置服务运行的用户;Group=users
是设置服务运行的用户组;PIDFile
为存放PID的文件路径;ExecStart
为服务的具体运行命令;ExecReload
为重启命令;ExecStop
为停止命令;PrivateTmp=True
表示给服务分配独立的临时空间
[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!
[Install]
部分是服务安装的相关设置,可设置为多用户的systemctl
是管制服务的主要工具, 它整合了chkconfig
与service
功能于一体。
systemctl enable ngrok.service #加入开机启动
systemctl daemon-reload #重新载入 systemd,扫描新的或有变动的单元
systemctl is-enabled iptables.service
systemctl is-enabled ngrok.service #查询服务是否开机启动
systemctl enable ngrok.service #开机运行服务
systemctl disable ngrok.service #取消开机运行
systemctl start ngrok.service #启动服务
systemctl stop ngrok.service #停止服务
systemctl restart ngrok.service #重启服务
systemctl reload ngrok.service #重新加载服务配置文件
systemctl status ngrok.service #查询服务运行状态
systemctl --failed #显示启动失败的服务
然后运行:
systemctl daemon-reload systemctl start ngrok.service
Centos7搭建Ngrok内网穿透相关推荐
- 搭建解析内网 linux_Linux 搭建ngrok内网穿透
准备工作,需要有一台公网IP的服务器用来部署内网穿透的服务端 1.下载源码到GOPATH工作目录的src文件目录下 我的GOPATH是 /root/go/src/ cd /root/go/src/gi ...
- CentOS7.4 搭建ngrok 内网穿透
2019独角兽企业重金招聘Python工程师标准>>> #1.安装git # 安装git yum install git #2.安装GO语言环境 # 安装GO语言环境 yum ins ...
- ngrok内网穿透工具搭建,方便微信公众号,小程序、钉钉等开发【已投入使用】
前言:微信公众号,小程序.钉钉等开发需要内网穿透工具. 1.经过不断的摸索和调试,完成ngrok内网穿透的工具的搭建,对于微信公众号,小程序.钉钉等开发提供便利性. 2.搭建环境Linux cento ...
- ngrok内网穿透原理分析和实现
转载: ngrok内网穿透原理分析和实现 在互联网终端急剧增长的今天,公网ip已经成为稀缺资源,对于国内垄断的电信运营商来讲,更是不可能随便免费给你一个公网ip,许多家庭宽带都无法分配到 公网ip,又 ...
- ngrok 内网穿透
ngrok 内网穿透 下载客户端 根据你的个人电脑系统下载匹配的客户端. 下载地址: https://ngrok.com/download 启动 打开ngrok.exe 输入命令,开放端口 ngrok ...
- 华硕老毛子(Padavan)——Ngrok内网穿透解决方案
基本概念 Ngrok:ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.Ngrok是外国发布的一个开源项目,也有一个公开的运行服务,但被国内墙掉了.国内一 ...
- 小米球ngrok内网穿透
小米球ngrok内网穿透 目录 小米球ngrok内网穿透 背景 操作步骤 小米球官网,先注册,登陆 下载对应版本 系统管理-商品管理-商品列表开通 实名认证,注册版服务器两服务. 系统管理-账户管理- ...
- 一分钟用HCaas搭建Frp内网穿透
前言 对于内网穿透大家并不陌生,不管你是小白还是开发者都需要一些内网穿透服务,如果自己购买服务器苦恼于带宽小(国内主机商普遍都是1M~10M),从而导致穿透效果并不是很理想,最近博主一直在关注网银互联 ...
- CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑
CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 Day1 文章目录 CentOS7 使用frp内网穿透 在公司远程桌面连接自家电脑 前言 一.服务器的安装与配置 面板: 二.客户端的安 ...
最新文章
- Vue 进入/离开动画
- ping的实现和代码分析
- 11个鲜为人知的实用Linux命令 - Part 2
- execl中设置的格式无法实现
- 如何学好前端,这5点你一定要知道!
- Java : 实体类不能序列化异常
- 基础教程之Spin旋转篇
- python or 和and的优先级_python中not、and和or的优先级与详细用法介绍
- mathml解析引擎MathPlayer的缺陷
- python微信爬虫
- 【Mybatis学习路线】day01Mybatis概述
- Apache探索:Windows下搭建PHP运行环境(详细图文教程)
- mac os x 使用教程_如何在Mac OS X计算机上使用扫描仪
- 海龟交易法:如何防止模型死亡
- 《C语言中time_t数据类型》
- Java常见面试题—final 在 java 中有什么作用?
- 全面分析中国菜刀及隐藏后门
- 获取OpenHarmony源码
- STM32F030xx硬件SPI调试记录
- 5G核心网网络架构-什么是核心网?核心网的功能有哪些?
热门文章
- vue中App.vue的主要作用
- iOS和Android内存占用对比,安卓和ios内存差距为什么那么大
- 论文精读《BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View》
- Java图形化界面设计(swing实现)
- 美团2021校招测试
- Oracle学习笔记 --- Oracle ORA错误解决方案
- 如何利用万用表判断芯片和PCB之间良好焊接及防护二极管作用
- Norflash与NANDflash性能对比
- ChatGPT:我围观了量子位MEET2023智能未来大会,还当了一回课代表
- MySQL类型文本的最大长度