简单搭建 ngrok 服务器,实现内网穿透(资源)

摘要: 快速搭建 ngrok 服务器,或者直接运行我制做的ngrok服务器的镜像来启动node

为啥搭建 ngrok 服务器

 

在作Web开发时,咱们须要将一个本地的Web网站暴露给外网访问(好比我在作本地开发微信时)。linux

 

ngrok 是一个反向代理工具,咱们能够直接下载官网的客户端使用,可是由于官网服务器在国外,比较慢,并且免费版不支持绑定二级域名。git

 

须要准备什么

 

  • 公网的linux服务器(最好是centos7,一步经过)github

  • 独立域名golang

 

若是对docker熟悉的话能够直接运行我制做的ngrok服务器的镜像来启动https://github.com/jueying/docker-ngrok-serverdocker

 

步骤

 

1. 安装git, golang和opensslcentos

 

 

git版本和golang版本不能太旧,centos7默认安装git1.8.3,go1.8.3浏览器

 

2. clone ngrok项目到本地服务器

 

 

3. 生成证书微信

 

# 这里替换为本身的独立域名

export NGROK_DOMAIN="huahongbin.cn"

 

#进入到ngrok目录生成证书

cd /usr/local/ngrok

 

# 下面的命令用于生成证书

openssl genrsa -out rootCA.key 2048

openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem

openssl genrsa -out device.key 2048

openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr

openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

 

# 将咱们生成的证书替换ngrok默认的证书

cp rootCA.pem assets/client/tls/ngrokroot.crt

cp device.crt assets/server/tls/snakeoil.crt

cp device.key assets/server/tls/snakeoil.key

 

4. 编译不一样平台的服务端和客户端

 

 

执行后会在ngrok/bin目录及其子目录下看到服务端ngrokd和客户端ngrok.exe。

 

5. 启动服务端

 

 

6. 启动客户端

 

将ngrok.exe拷贝到本地文件夹中(能够用winscp),并在文件夹新建配置文件ngrok.cfg,内容以下:

 

 

域名替换为本身的独立域名,端口替换为启动ngrok服务器设置的tunnel端口。

 

而后在cmd中使用如下命令启动:

 

 

80即为你要代理的本地端口

 

在浏览器中输http://127.0.0.1:4040 能够看到具体的请求信息。

 

常见问题

 

  • 编译时在下面步骤卡主 go get gopkg.in/yaml.v1 这是由于Git版本过低,请将服务器git版本升级到1.7.9.5以上。

  • 由于ngrok首次编译时须要在国外网站下载一些依赖。可能会很慢甚至timeout。多尝试几回,或者你懂得。

 

连接 : 

基于CentOS利用ngrok完美进行内网穿透 : https://blog.ansheng.me/article/centos-ngrok-intranet-penetration

相关文章
相关标签/搜索