Linux系统下ngrok服务端搭建

/ 默认分类 / 0 条评论 / 220浏览

前置准备环境:

  1. 阿里云服务器1台(有公网IP) 环境linux centerOS 7.2+

  2. 认证域名1个

安装步骤:

1.XShell 远程登录云服务器,安装git ,go

  yum install gcc -y
  yum install git -y
  yum install mercurial git bzr subversion golang golang-pkg-windows-amd64     golang-pkg-windows-386 -y

2.下载ngrok源码包到新建文件中

cd /usr/local
mkdir ngrok
cd /usr/local/ngrok

3.ngrok 源码下载

git clone https://github.com/inconshreveable/ngrok.git

4.生成证书,注意替换成自己的域名(可以是二级域名)

cd ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=fengngrok.XXmind.com" -days 5000 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=fengngrok.XXmind.com" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

5.覆盖原本证书

cp rootCA.pem /usr/local/ngrok/assets/client/tls/ngrokroot.crt
cp server.crt /usr/local/ngrok/assets/server/tls/snakeoil.crt
cp server.key /usr/local/ngrok/assets/server/tls/snakeoil.key

6.生成ngrok服务

make clean
make release-server

7.生成ngrok客户端

GOOS=windows GOARCH=amd64 make release-client
#编译成功后会在ngrok/bin/下面生成一个windows_amd64目录下面有ngrok.exe
 
#Linux 平台 32 位系统:GOOS=linux GOARCH=386
#Linux 平台 64 位系统:GOOS=linux GOARCH=amd64
#Windows 平台 32 位系统:GOOS=windows GOARCH=386
#Windows 平台 64 位系统:GOOS=windows GOARCH=amd64
#MAC 平台 32 位系统:GOOS=darwin GOARCH=386
#MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64
#ARM 平台:GOOS=linux GOARCH=arm

8.启动ngrok服务

      -httpAddr=80 此配置用来指定映射域名http访问的端口 默认80
      -httpsAddr=443 https的访问端口 默认443
      -tunnelAddr=4443 客户端连接的端口 默认4443
      cd /usr/local/ngrok
setsid ./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="fengngrok.XXmind.com"  -httpAddr=":81" -httpsAddr=":444"  -tunnelAddr=":4443"

nohup setsid ./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="fengngrok.xxmind.com"  -httpAddr=":81" -httpsAddr=":444"  -tunnelAddr=":4443"

9.配置windows ngrok客户端(客户端)

拷贝ngrok.exe到客户端源路径:

/usr/local/ngrok/bin/windows_amd64

添加ngrok.cfg自定义文件 内容如下:

server_addr: fengngrok.XXmind.com:4443
trust_host_root_certs: false
tunnels:
    http:
        proto:
            http: 80
        subdomain: pi
    ssh:
        remote_port: 10086
        proto:
            tcp: 22
    mstsc:
        remote_port: 3389
        proto:
            tcp: "127.0.0.1:3389"

新建一个start.bat文件内容如下:

ngrok -config=ngrok3.cfg start http ssh mstsc
pause

10.配置Linux下ngrok客户端

linux下ngrok客户端的使用 下载linux64位的版本(请自行找资源)到电脑, 使用scp协议或其他上传到linux系统的主机 解压文件后

cd 到ngrok目录下

chmod -R 777 ngrok

chmod -R 777 ngrok.cfg

分配了权限后才可运行

后台运行需求

首先在服务器上安装screen

yum install screen 

screen -S ngrok 

回车后会一闪,此时已经开启了一个screen了

之后正常启动就行

./ngrok -config=ngrok.cfg start http ssh

然后直接断开ssh连接,此时ngrok还是运行的

如何关闭?

ssh上主机

screen -r ngrok

此时就会出现你刚才的端口