文章目录
- 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 可以自己修改想要的
连接成功的效果
end