利用linux服务器安装ngrok实现内网穿透 限http(https要弄SSL证书嫌麻烦)

准备工作(2020-05-18 测试有效)

Git
GoLang
一台拥有公网ip的服务器
一个绑定到公网ip服务器上的域名

开始

服务器下
下载ngrok源码
git clone https://github.com/inconshreveable/ngrok.git

生成证书 (依次执行如下命令)
export NGROK_DOMAIN=“wangle.musickd.com” //需改为自己的域名

cd 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 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

将生成的客户端和服务端证书拷贝到对应资源目录下(这一步很重要)
需要输入 y 回车进入下一步
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key

编译ngrok服务端(我的服务器是linux系统,所以这里指定编译成linux平台的可执行程序)
#32位Linux系统
GOOS=linux GOARCH=386 make release-server
#64位Linux系统
GOOS=linux GOARCH=amd64 make release-server

本机电脑版本 Windows版本
GOOS=windows GOARCH=amd64 make release-client
(Mac版本
GOOS=darwin GOARCH=amd64 make release-client)

编译之后,在ngrok源码的bin目录下生成了对应不同平台的ngrok可执行程序
下载到本机指定文件夹(WINDOWS)

回到本机
暂定使用 SecureCRT8.0
yum install lrzsz (简单的上传下载命令)
进入ngrok下bin目录下windows amd64 文件夹下
sz ngrok.exe (下载到本机)

回到本机
为了启动方便,新建一个ngrok.cfg配置文件
server_addr: “wangle.musickd.com:4443”
trust_host_root_certs: false

为Windows平台新建一个startup.bat文件
@echo on
cd %cd%
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=wangle 9000
回到服务器
开放端口 4443 和 80(http)(https 还有开放 443)
firewall-cmd --zone=public --add-port=4443/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

启动linux下ngrok
./ngrokd -domain=“musickd.com” -httpAddr=":80" &

回到本机
启动windows下startup.bat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值