从公网访问内网部署的服务。大概步骤也比较简单(6步):

  1. 在阿里云控制台,开放需要的端口;
  2. 阿里云控制台域名解析到服务器IP上;
  3. 在公网主机上(我用的阿里云)部署ngrok源码;
  4. 生成证书;
  5. 编译生成主机服务(最终生成二进制文件ngrokd,启动跑在公网主机上);
  6. 编译生成客户端服务(最终生成二进制文件ngrok,要从公网主机复制到内网真正提供服务的主机上,并启动)。ngrok服务器,实现内网穿透的本质,就是部署在公网端的ngrokd服务和部署在客户端的ngrok服务相互通信转发指令和数据。我的公网服务器端和客户端都是Ubuntu系统,以下有公网IP域名的称为服务端,内网称为客户端

预备配置

详细部署过程:登录自己的阿里云Ubuntu控制台,在本机实例的服务端安全组规则里,开放自己需要的端口ubuntu 18.04搭建ngrok内网穿透服务-LMLPHP将自己的域名解析到服务器IP,配置子域名ubuntu 18.04搭建ngrok内网穿透服务-LMLPHP下载最新版本的go lang 完成安装,我的在/usr/local下ubuntu 18.04搭建ngrok内网穿透服务-LMLPHPtar解压,tar -zxvf go1.12.9.linux-amd64.tar.gz我用的是root,配置root的环境变量,vim .bashrcubuntu 18.04搭建ngrok内网穿透服务-LMLPHP最后一行添加

 export GOROOT=/usr/local/go #当前自己的golang所在位置
 export PATH=$PATH:/usr/local/go/bin::$GOROOT/bin

golang 安装成功,环境配置好,之后开始安装

服务端

克隆源码

$ cd /usr/local
$ git clone https://github.com/inconshreveable/ngrok.git

引入环境变量ubuntu 18.04搭建ngrok内网穿透服务-LMLPHP

客户端

08-26 12:17