2019独角兽企业重金招聘Python工程师标准>>>

#1、安装git

# 安装git
yum install git

#2、安装GO语言环境

# 安装GO语言环境
yum install  golang
#检查下go的env环境变量
go env

#3、下载ngrok

# github.com 下载 ngrok源码
cd /usr/local/
git clone https://github.com/inconshreveable/ngrok.git

#4、生成证书

# 域名xxx.com 换成自己的
cd /usr/local/ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=xxx.com" -days 5000 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=xxx.com" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

#5、 拷贝证书覆盖ngrok原来的证书

# 过程会让你输入y 回车
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key

编译生成服务端

# 编译生成服务端
cd /usr/local/ngrok/
GOOS=linux GOARCH=amd64 make release-server

编译生成客户端

# 32位linux客户端:
GOOS=linux GOARCH=386 make release-client# 64位linux客户端:
GOOS=linux GOARCH=amd64 make release-client#32位windows客户端:
GOOS=windows GOARCH=386 make release-client#64位windows客户端:
GOOS=windows GOARCH=amd64 make release-client#32位mac平台客户端:
GOOS=darwin GOARCH=386 make release-client#64位mac平台客户端:
GOOS=darwin GOARCH=amd64 make release-client#ARM平台linux客户端:
GOOS=linux GOARCH=arm make release-client# 生成客户端文件位置
/usr/local/ngrok/bin

启动服务器端

cd /usr/local/ngrok/bin./ngrokd  -domain="xxx.com" -httpAddr=":800" -httpsAddr=":801" -tunnelAddr=":8443"# 指定TLS证书和密钥
./ngrokd -tlsKey="/path/to/tls.key" -tlsCrt="/path/to/tls.crt" -domain="xxx.com" -httpAddr=":800" -httpsAddr=":801" -tunnelAddr=":8443"

客户端配置文件ngrok.yml

# 新建ngrok.yml
server_addr: xxx.com:8443
trust_host_root_certs: false

本地启动客户端

# 目录下打开命令行
# 然后使用以下任一命令运行ngrok:
ngrok -config ngrok.yml 8080
ngrok -config ngrok.yml -subdomain wx 8080 # 或者指定域名 wx.xxx.com

ngrok 加入系统服务 开机启动

vi /usr/lib/systemd/system/ngrok.service
# 在CentOS 7上利用systemctl添加自定义系统服务
[Unit]
Description=ngrok
After=network.target[Service]
Type=simple
Restart=always
RestartSec=1min
ExecStart=/usr/local/ngrok/bin/ngrokd   -domain=xqzgg.cn -httpAddr=:800 -httpsAddr=:801 -tunnelAddr=:8443 %i
ExecStop=/usr/bin/killall ngrok
PrivateTmp=true[Install]
WantedBy=multi-user.target# 重载系统服务:
systemctl daemon-reload# 设置开机启动
systemctl enable ngrok.service# 启动服务
systemctl start ngrok.service

常用命令

#设置开机启动:
systemctl enable ngrok.service
#启动服务:
systemctl start ngrok.service
#停止服务:
systemctl stop ngrok.service

附带一份 nginx.conf 配置文件

# ngrok
upstream ngrok {server 127.0.0.1:800;keepalive 64;
}# ngrok 穿透
server {listen       80;server_name  *.xxx.com;location / {proxy_pass http://ngrok;proxy_redirect off;proxy_set_header Host $http_host:800;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  expires 5s;}
}

转载于:https://my.oschina.net/u/3148025/blog/2874128

CentOS7.4 搭建ngrok 内网穿透相关推荐

  1. 搭建解析内网 linux_Linux 搭建ngrok内网穿透

    准备工作,需要有一台公网IP的服务器用来部署内网穿透的服务端 1.下载源码到GOPATH工作目录的src文件目录下 我的GOPATH是 /root/go/src/ cd /root/go/src/gi ...

  2. Centos7搭建Ngrok内网穿透

    一.安装gcc和git(用于下载ngrok源码) yum install gcc -y yum install git -y 二.安装go语言环境 yum install -y mercurial g ...

  3. ngrok内网穿透工具搭建,方便微信公众号,小程序、钉钉等开发【已投入使用】

    前言:微信公众号,小程序.钉钉等开发需要内网穿透工具. 1.经过不断的摸索和调试,完成ngrok内网穿透的工具的搭建,对于微信公众号,小程序.钉钉等开发提供便利性. 2.搭建环境Linux cento ...

  4. ngrok内网穿透原理分析和实现

    转载: ngrok内网穿透原理分析和实现 在互联网终端急剧增长的今天,公网ip已经成为稀缺资源,对于国内垄断的电信运营商来讲,更是不可能随便免费给你一个公网ip,许多家庭宽带都无法分配到 公网ip,又 ...

  5. ngrok 内网穿透

    ngrok 内网穿透 下载客户端 根据你的个人电脑系统下载匹配的客户端. 下载地址: https://ngrok.com/download 启动 打开ngrok.exe 输入命令,开放端口 ngrok ...

  6. 华硕老毛子(Padavan)——Ngrok内网穿透解决方案

    基本概念 Ngrok:ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.Ngrok是外国发布的一个开源项目,也有一个公开的运行服务,但被国内墙掉了.国内一 ...

  7. 小米球ngrok内网穿透

    小米球ngrok内网穿透 目录 小米球ngrok内网穿透 背景 操作步骤 小米球官网,先注册,登陆 下载对应版本 系统管理-商品管理-商品列表开通 实名认证,注册版服务器两服务. 系统管理-账户管理- ...

  8. 一分钟用HCaas搭建Frp内网穿透

    前言 对于内网穿透大家并不陌生,不管你是小白还是开发者都需要一些内网穿透服务,如果自己购买服务器苦恼于带宽小(国内主机商普遍都是1M~10M),从而导致穿透效果并不是很理想,最近博主一直在关注网银互联 ...

  9. 腾讯云搭建Cpolar内网穿透

    前言:此过程需要建立在购买了腾讯云以及cpolar内网穿透的前提下,腾讯云系统是centos7.6,cpolar内网穿透是购买的一年99块的,可以自己自定义域名 一.安装cpolar 国内用户使用: ...

最新文章

  1. Environ. Res.:南土所梁玉婷组-低砷稻田土壤微生物抗砷功能基因的分布模式
  2. [Spring mvc 深度解析(二)] Tomcat分析
  3. Exchange2003-2010迁移系列之十三
  4. 34. Search for a Range
  5. Git log高级用法
  6. CSS学习之盒子模型
  7. JPA 2.1: What is new
  8. convirt2.5在虚拟机上安装笔记
  9. 在java中添加源_关于Java:如何在Android Studio中添加链接的源文件夹?
  10. Windows10安装ubuntu 20双系统
  11. 平衡搜索树之红黑树(图片格式)
  12. python基础教程书籍-python基础教程书籍名著日本
  13. PostgreSQL-13-缺失值处理
  14. iphone修改imei_iPhone这些隐藏代码你肯定不知道
  15. laravel框架安装多国语言包
  16. vue中获取屏幕高度(封装使用)
  17. 草料二维码生成怎么用php代码实现
  18. 需求提炼:产品需求、技术需求
  19. 3.6 使用透视裁剪工具修复透视图 [Ps教程]
  20. 简单介绍一下python的魔方方法

热门文章

  1. java 反射获取实体类_Java 通过反射给实体类赋值操作
  2. 详解 Linux环境中DHCP分配IP地址(实验详解)
  3. php 内置mail 包,配置php自带的mail功能
  4. java与c/c++进行socket通信的一些问题
  5. python顺序控制语句_Python学习之 流程控制语句
  6. mysql忘了root密码_mysql忘记root密码怎么办
  7. linux 音频文件播放文件管理,linux dsp 播放音频文件
  8. mysql存储word文档_使用MySQL存储和检索word文档
  9. java后端开发教程_【后端开发】详细讲解JAVA中方法重载概念——简单易懂
  10. label y 训练集测试集x_Adversarial validation-对抗验证| 一种解决训练集与测试集分布不一致的方法...