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

一、概述

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

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

二、环境准备

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 环境下开启本地客户端:

成功连接之后的效果:

3. 测试页面

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

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

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 就能直接运行了:

 

 

发表评论