基于CentOS6.5搭建ngrok内网穿透服务器

马谦马谦马谦 ngrok评论447字数 1410阅读4分42秒阅读模式

一、概述

ngrok 是一个反向代理的内网穿透服务器,用于把没有公网地址的内网主机映射到公网,常被用于微信后台开发。ngrok 使用go 语言编写,目前版本2.1,开源版本为1.7 ,存在内存泄漏且不稳定,长时间使用会导致资源占用异常,不适合长久使用,需要稳定版可以去购买正版。

环境要求:公网主机,域名。

基于CentOS6.5搭建ngrok内网穿透服务器-图片1

二、环境准备

1.安装go语言环境

软件基于go 语言编写,需要先安装go 语言环境,安装方法详见:CentOS源码安装golang

2.安装git

go 语言安装依赖包时需要用到git,安装方法:centos源码安装git

3.域名

添加一个A记录指向服务器地址,例如ngrok.dyxmq.cn

添加一个CNAME 解析,例如a.ngrok.dyxmq.cn,记录值:ngrok.dyxmq.cna.ngrok.dyxmq.cn 是访问本地主机的地址,可以同时添加多个CNAME解析映射到多个不同的客户端。

三、安装ngrok

编译服务端:

如果没有意外发生的话,将会在bin 目录下生成服务端和linux客户端:

生成不同系统下的客户端:

四、配置和使用

1. 开启服务端

  • httpAddr:监听http 的端口,把访问该端口的http请求转发到本地。
  • httpsAddr :监听https 的端口,把访问本端口的https请求发送到本地。
  • tunnelAddr :和本地进行数据通信的端口。

2. 开启本地客户端

创建一个配置文件ngrok.cfg,写入配置以下信息:

windows下在当前目录打开命令提示符,输入以下命令运行本地客户端:

linux环境下开启本地客户端:

成功连接之后的效果:

基于CentOS6.5搭建ngrok内网穿透服务器-图片2

3. 测试页面

本地windows主机开启iis服务,然后在浏览器输入https://b.ngrok.dyxmq.cn:9080,可以访问到 本地网页:

基于CentOS6.5搭建ngrok内网穿透服务器-图片3

一般的云服务商都会有默认的安全组禁止了端口,需要手动开启凯能访问服务。

windows10安装IIS:https://www.dyxmq.cn/windows/windows-10-iis-web-service.html

五、优化

1. 添加到supervisor守护进程

https://www.dyxmq.cn/others/add-ngrok-to-supervisor.html

2. 给ngrok子域名添加反向代理

https://www.dyxmq.cn/others/add-reverse-proxy-to-ngrok.html

3. windows一键运行脚本

windows每次运行都要使用命令提示符,然后还要输入一长串命令,比较麻烦.

可以在程序目录下添加一个run.bat,把运行命令写进去,然后双击run.bat 就能直接运行了:

 

 

 最后更新:2017-12-1
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2017年10月30日21:33:34
  • 转载请务必保留本文链接:https://www.dyxmq.cn/program/code/golang/ngrok/centos6-install-ngrok.html
给ngrok子域名添加反向代理 互联网

给ngrok子域名添加反向代理

一、概述 安装后ngrok后输入子域名就可以访问内网服务了,但是访问的时候需要携带端口号,这是很不方便 的。而且对于有些服务例如微信公众平台,它只允许填入80和`443` 端口的地址,其他的端口是不允...
添加ngrok到supervisor守护进程 ngrok

添加ngrok到supervisor守护进程

前面成功启动了ngrok 服务,不好的是服务不是后台运行的,一旦关闭终端程序就会终止,这里我们可以把ngrok 添加到supervisor 中去让它以守护进程形式运行。 新建一个supervisor ...
使用supervisor管理进程 supervisor

使用supervisor管理进程

一、摘要 supervisor是一个进程管理工具,刚工作就接触到了,不过当时因为被脚本封装好了,所以都是直接用,对它的理解也仅仅是知道了有这么一个东西, 想着有机会了再深入了解。 一早因为机缘巧合要把...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证