Linux做服务器搭建ngrok服务器

(假设服务器地址为:123.123.123.123)

1.  前置条件

1)  安装go语言

# apt-get install golang

2)   安装git

#apt-get install git 

# yuminstall git

2.   将ngrok源代码克隆回本地

1)   创建ngrok的目录

# mkdir ngrok

2)   源码克隆

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

3.  设置环境变量

1)   ngrok域名解析加入环境变量

# vi /etc/profile

    在后面加入

扫描二维码关注公众号,回复: 1847834 查看本文章
export NGROK_DOMAIN="portref.123.123.123.123"

2)  环境变量生效

# source /etc/profile

4.  生成证书

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 server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

5.  拷贝证书并改名

\cp -f rootCA.pem assets/client/tls/ngrokroot.crt  
\cp -f server.crt assets/server/tls/snakeoil.crt 
\cp -f server.key assets/server/tls/snakeoil.key 

6.  生成客户端和服务端

GOOS=windows GOARCH=386 make release-server 
GOOS=windows GOARCH=386 make release-client
GOOS=linux GOARCH=386 make release-server
GOOS=linux GOARCH=386 make release-client

7.  bin下创建启动脚本

# vi startup.sh

在脚本中填写

#!/bin/bash
#ngrok server startup shell

addr=portref.123.123.123.123
http=8081
https=8082
port=4443
echo '************************************************************************************************************'
echo * 父级域名:$addr
echo * http端口:$http
echo * https端口:$https
echo * ngrok监听端口:$port
echo '************************************************************************************************************'
nohup ./linux_386/ngrokd -domain="$addr" -httpAddr=":$http" -httpsAddr=":$https" -tunnelAddr=":$port" > ../listen.log &

8.  启动ngrok

# sh startup.sh

9.  客户端

1)  客户端拷贝

在需要内网穿透的机器上,创建文件夹ngrok,把生成的客户端拷贝到文件夹内

2)  创建配置文件

新建ngrok.cfg文件,文件内设置如下内容:

server_addr: "123.123.123.123:443"
trust_host_root_certs: false
tunnels:
  svn:
    subdomain: "svn"
    proto:
      https: "8443"
 
  ftpI:
    remote_port: 22221
    subdomain: "ftp"
    proto:
      tcp: "21"

  ftpO:
    remote_port: 46637
    subdomain: "ftp"
    proto:
      tcp: "46637"

3)  创建启动脚本

新建startup.bat文件,文件内设置如下内容:

start /b ngrok.exe-config ngrok.cfg start desktop ftpI ftpO

猜你喜欢

转载自blog.csdn.net/qq_31395143/article/details/80046121
今日推荐