用树莓派4b构建深度学习应用(十一)ngrok篇

​前言

上一篇我们介绍了一下树莓派上的全局代理,很多场合中,我们只需要一个公网 ip 地址做反向代理,便于访问到部署应用的生产服务器。这时候用 ngrok 做内网穿透就很便利。

image
image

ngrok 是一个反向代理程序,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。安装 ngrok

image

官网列出了一些主要的应用场景:
Public URLs for

  • SSH access to your Raspberry Pi.

  • building webhook integrations.

  • exposing your local web server.

  • testing on mobile devices.

  • sending previews to clients.

  • testing your chatbot.

1 注册账号

首先在官网上注册一个账号,也可以用google账号或是github账号授权登录。登录后,就能看见数据面板了。

image

2 下载对应的安装包

在树莓派上,我们之前选择的是官方32位版本的系统,所以下载 Linux (ARM) 版本。这里下载的是客户端程序,所以需要下载待发布的 APP 所在平台对应的安装包。

这里下载到树莓派上,解压程序

mkdir ngrok

3 获取认证授权码

在右侧菜单中,选择 Authentication --> Your Authtoken,复制自己的认证码。
image

4 连接账号

运行以下命令添加刚才复制的认证码到默认配置文件 ngrok.yml 中

./ngrok authtoken 替换成复制的Authentication
image

配置文件生成完毕。

远程登录 ssh

1 转发 SSH 服务

./ngrok tcp 22
image

开启了服务,绑定到远端的 tcp://2.tcp.ngrok.io:14324 上。✎ Tip

注意,现在 ngrok 官网需要开启 VPN 或 Polipo 才能访问了。

2 远程登录 ssh

在 ngrok 的数据面板中,可以找到连接的状态信息,复制 URL 准备远程访问。

image

在主电脑上(win10),开一个shell窗口登录一下

ssh pi@2.tcp.ngrok.io -p 14324
image

看到了之前在树莓派上配置的 openvino 初始化信息,已经登录成功了。

发布 web 服务

1 转发 web 服务

./ngrok http 80

一句话就把本地的 web 服务放到公网上去了。

2 远程访问 jupyter notebook

有时候需要临时测试后端服务的功能,但前端必须采用 https 才能访问,比如微信小程序之类,就可以用 ngrok 来转发在封装一下。我们用 notebook 来测试一下。

先启动 notebook

jupyter notebook
image

notebook 默认端口运行在 8888,记得复制 token 后面需要用到。✎ Tip

需要修改用户主目录下~/.jupyter/jupyter_notebook_config.py文件,配置项 c.NotebookApp.allow_remote_access = True ,启用远程访问功能。

3 转发 jupyter notebook 服务

./ngrok http 8888
image

ngrok 服务器将随机域名绑定到 notebook 的 8888 端口上,同时提供了 http 和 https 服务。这省去了一堆配置 ssl 证书等等一系列操作,对于移动端的APP调试和演示来说,极大的提高了效率。

4 远程登录

在主电脑(win10)上开浏览器,登录 https://c1a80df740ac.ngrok.io。提示需要输入登录验证,也可以改为密码方式登录,具体操作可以点击文档链接查看详情。

image

5 验证身份

填入之前复制的 token 信息,点击登录,验证成功后,就能正常使用了。

image

完美!

****自建 ngrok 服务端****

前面的操作都需要依赖官网的 ngrok 服务,考虑到现在被和谐的状态,我们可以在自己的云服务器上建一个 server 端,提供反向代理服务。

image

1 下载源码

现在官网的 ngrok 是2.0版本,而开源版本是1.0的,注意客户端版本差异。

git clone https://github.com/tutumcloud/ngrok.git myngrok

2 生成 ssl 证书

国内云服务厂商一般都提供免费的 SSL 证书服务,绑定你所在云服务的域名,这里也可以自己生成自签名证书文件。

openssl genrsa -out rootCA.key 2048
image

然后把证书拷贝到本目录的assets下:

cp rootCA.pem assets/client/tls

3 配置环境

编译需要用到 GO 语言,先安装依赖

sudo apt-get install golang-1.9

修改配置文件

sudo nano /etc/profile

添加环境变量如下:

export GOROOT=/usr/lib/go-1.9

然后source /etc/profile生效后,安装完后使用命令 go version 验证安装结果。

4 编译程序

make release-all
image

5 运行服务器

bin 目录下 ngrokd 是服务器端程序,ngrok 是客户端程序

./ngrokd -tlsKey="/home/pi/ngrok/server.key" 

tunnelAddr表示和客户端链接的通道端口,默认是4443。这里指定了端口号,要保证防火墙开启这些端口。

image

服务器开启成功,等待连接中,然后就可以用 ngrok 客户端,配置 ngrok.cfg 文件,如前文所述,正常进行端口绑定操作了。

✎ Tip

类似功能的还有 frp,功能更为强大,数据面板也很漂亮,配置起来大同小异。这里就不过多赘述了,待用到之时查一下官网就行了。

image

软件下载

image

本期相关文件资料,可在公众号后台回复:“rpi11”,获取下载链接。

环境问题基本解决了

下一篇
我们将继续在树莓派上,
开启 AI 项目实战开发之旅,
敬请期待...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352