文章目录

  • CentOS7(64位)搭建私有ngrok内网穿透转发服务
  • 安装程序依赖
  • 用git下载ngrok包
  • 生成自签名证书
  • 覆盖并替换我们生成的证书文件
  • 生成服务端与客户端(根据系统需要选择)
  • 服务端开启服务
  • 客户端使用
  • end


CentOS7(64位)搭建私有ngrok内网穿透转发服务

准备工作:
1.需要一台外网服务器(ps:我的是阿里云的)
2.需要一个已经备案的域名
3.二级或者顶级域名都可以

安装程序依赖

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

用git下载ngrok包

git clone https://github.com/inconshreveable/ngrok.git
(这里目录的话自己选择就可以)

生成自签名证书

cd ngrok

mkdir ssl

cd ssl

export DOMAIN=“这里是你的域名”

openssl genrsa -out root.key 2048

openssl req -x509 -new -nodes -key root.key -subj “/CN=$DOMAIN” -days
5000 -out root.pem

openssl genrsa -out service.key 2048

openssl req -new -key service.key -subj “/CN=$DOMAIN” -out service.csr

openssl x509 -req -in service.csr -CA root.pem -CAkey root.key -CAcreateserial -out service.crt -days 36500

注意:
1.如果没有做域名解析的小伙伴们,需要做一下域名解析,解析到你的外网服务器ip地址
2.如果是云服务器的有安全组的需要配置端口放行,一般ngrok默认的是http 80
https 443 这个也可以自己定义如果配置了安全组还有问题,请检查防火墙放行端口

覆盖并替换我们生成的证书文件

cp root.pem …/assets/client/tls/ngrokroot.crt

cp service.crt …/assets/server/tls/snakeoil.crt

cp service.key …/assets/server/tls/snakeoil.key

生成服务端与客户端(根据系统需要选择)

cd ngrok
##服务端生成命令
 #Linux
 GOOS=linux GOARCH=386 make release-server (32位)
 GOOS=linux GOARCH=amd64 make release-server(64位)
 #Mac
 GOOS=darwin GOARCH=386 make release-server
 GOOS=darwin GOARCH=amd64 make release-server
 #Windows
 GOOS=windows GOARCH=386 make release-server
 GOOS=windows GOARCH=amd64 make release-server##客户端
 #Linux
 GOOS=linux GOARCH=386 make release-client (32位)
 GOOS=linux GOARCH=amd64 make release-client(64位)#Mac
 GOOS=darwin GOARCH=386 make release-client
 GOOS=darwin GOARCH=amd64 make release-client#Windows
 GOOS=windows GOARCH=386 make release-client
 GOOS=windows GOARCH=amd64 make release-client

如果执行成功会在ngrok的bin目录下生成对应系统的目录
由于我的客服端是windows10 64位的 我生成后就是ngrok的bin目录下面的windows_amd64下面有个ngrok.exe 把这个下载到本地的电脑上

服务端开启服务

./bin/ngrokd -domain=“你的域名” -httpAddr=":80" -httpsAddr=":443"
如果你配置的都是默认端口 就不用输入后面的了 但是自定义的端口 需要修改成自己的

客户端使用

在电脑新建一个文件夹,将下载下来的ngrok.exe文件放在下面
新建一个ngrok.cfg 文件写入
server_addr: “你的域名:4443”
trust_host_root_certs: false
在新建一个批处理的start.bat 启动文件写入
@echo on
cd %cd%
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=www 89

-config 是ngrok客户端启动的配置文件
-log 是日志文件
subdomain为自定义的域名前缀
后面这个89 就是你本地应用的端口例如127.0.0.1:89 可以自己修改想要的

连接成功的效果

怎么把centOS放到公网 centos内网转发_linux

end