用 阿里云 自行搭建ngrok内网穿透服务 访问Jetson Nano (没有域名只有ip的来!)

是什么让这么懒的我打算写这篇博客呢?是昨天搞到凌晨三点,今天突然通了的欣喜和激动!!!

本来不应该是个浪费时间的工作,所以把我踩过的坑写出来,希望别人千万别踩坑。。。也算是为社会做贡献了。。。

问题背景:

目前正在做毕业设计,在jetson Nano上部署了个web项目,但是外网看不到我的项目啊。并且研究生那边的师兄也要和我的工作对接,所以必须要对nano内网穿透一下了。。

必备清单:

##我就按照自己的说了

1、具有公网IP的阿里云服务器,网上大部分都是用的带域名的,我这边没有域名所以就简单粗暴的用公网ip地址;

2、自己的jetson nano (arm架构) 相当于是要穿透的客户端。

下面正式开始。按部就班的来应该都是没什么问题的,因为我有熬到3点的痛苦记忆。

一、配置go语言环境

1、为阿里云服务器配置;

2、为jetson nano配置。

网上资源很多,大家就自己去找吧,一般都是对的。

二、下载ngrok源码

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

三、生成证书

一下的代码请无脑复制粘贴,不要问为什么。。。

cd ngrok #进入到下载好的git项目文件夹下
YOUR_IP="xxx.xxx.xxx.xxx"#你的ip地址
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$YOUR_IP" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$YOUR_IP" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt

四、用新证书替换旧证书

cp base.pem assets/client/tls/ngrokroot.crt

五、编译源码

在编译源码之前要预防一个坑,房子子域名随机生成。

参考自:https://www.jianshu.com/p/d308b92e58ea

			// src/ngrok/server/tunel.go  #89 行
			// Register for random URL
   			 t.url, err = tunnelRegistry.RegisterRepeat(func() string {
    		 return fmt.Sprintf("%s://%x.%s", protocol, rand.Int31(), vhost)
    		}, t)


删掉 【%x.】 【rand.Int31(),】 以及该文件第一行引入的 【math/rand】,重新编译出服务端与客户端即可。

5.1编译服务器端

GOOS=linux GOARCH=386 make release-server #为阿里云服务器端编译

5.2编译jetson nano客户端

GOOS=linux GOARCH=arm make release-client #为jetson nano编译

上面个两个分别编译好后就可以在ngrok/bin/下面可看到linux_386和linux_arm文件夹,前者还放在服务器上,后者直接把文件夹拷贝到jetson nano上。

六、启动服务端

./bin/linux_386/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="xx.xx.xx.xx" -httpAddr=":8081" -httpsAddr=":8082" ##domain为ip地址

七、启动客户端

在linux_arm文件夹下创建ngrok.cfg文件,并输入一下内容:

server_addr: "xxx.xxx.xxx.xxx:4443"
trust_host_root_certs: false

然后运行如下代码:

./ngrok -config=ngrok.cfg -log=ngrok.log 5000 #5000指的是你的客户端要暴露的端口

八、成功截图

按部就班进行了上述所有操作就可以成功的内网穿透了,快来试试吧,只有Tunnel Status为online时即为成功。

发布了5 篇原创文章 · 获赞 3 · 访问量 714

猜你喜欢

转载自blog.csdn.net/qq_41959567/article/details/105717618
今日推荐