DAY7 Ngrok运行原理&安装Ngrok

Ngrok运行原理

其实ngrok有客户端ngrok和服务端ngrokd,在用户客户端发起请求时,就是这两个端起作用转发请求

1.当服务端接收到连接,就读取映射表,判断接收的端口对应於哪一个客户端,然後向客户端评论数据。
2.客户端收到数据,读取本地映射表,判断对应哪个内网地址,向内网地址发起连接。
3.客户端和内网的服务器建立连接後,向服务端发起一个连接,作为评论通道。
4.服务端读取请求数据,并通过转发反馈到客户端,客户端读取响应并通过反馈返回请求。

我们可以看到如果要转发数据,一定要ngrok客户端和服务端建立链路通道,这样就可以将请求数据转发到我们的内网服务器。


安装Ngrok

LINE Bot应用程序(APP)都完备後,接下来就要让网址能够公开(Public)且具有HTTPS,LINE频道(Channel)才有办法连结。

这时候除了可以将LINE Bot应用程序(APP)部署到像Heroku云端平台,拥有对外公开的HTTPS网址外,还可以使用一个非常强大的工具-Ngrok。

Ngrok简单来说,就是能够将你本机的IP埠号(http://127.0.0.1:8000),对应到一个随机产生的HTTPS网址,并且这个HTTPS网址是对外公开的(Public)的,这时候外部使用者只要透过这个HTTPS网址,就能够存取本机所运行的服务,是不是非常的强大阿。

首先,前往Ngrok官网,如下图:

点击「Get started for free」後,会需要注册一个帐户,接着就会看到如下图的画面:

依据作业系统进行下载即可,而这边要特别注意的是,在下方会有专属於你的凭证(Token),如下图:

将下载的档案解压缩,并且执行後,需要输入以下的指令进行验证:

ngrok authtoken

接着,就可以透过Ngrok,将本机的埠号对外公开,以本文为例,Django在本机运行的埠号为8000,所以输入以下的指令:

./ngrok http 8000

执行结果

Ngrok就会随机产生一个HTTPS的网址,只要把这个网址填入LINE Webhook URL,以及LINE Bot应用程序(APP) settings.py档案中的ALLOWED_HOSTS,如下范例,LINE频道(Channel)就能够与LINE Bot应用程序(APP)互相连结:

ALLOWED_HOSTS = [
    'cf3fb14f6910.ngrok.io'  #允许的网域名称
]

接着,利用以下的指令执行LINE Bot应用程序(APP):

python manage.py runserver


今天的歌曲是 周杰伦-世界未末日 Not the End of the World
https://www.youtube.com/watch?v=IteE-HMVJ1M&list=PLFl6Na2uUoOZBEhBtQ_jeGA4P1V20JvpW&index=7&ab_channel=%E5%91%A8%E6%9D%B0%E5%80%ABJayChou


<<:  DAY22 搞样式--CSS Gird小进阶(对齐)

>>:  Day8 Sideproject(作品集) from 0 to 1 -页面流程图

[Day-10] 巢状式if

接续上次所练习的if-else条件式判断 今天要来学习的是「巢状式if条件式」 巢状式其实就是像鸟巢...

The Twelve-Factor App

三十天很快要到了尾声了,今天要来介绍 The Twelve-Factor App(下称 12 Fac...

系统开发生命周期(SDLC)- 设计隐私

欧洲GDPR设计,这就要求隐私被考虑纳入隐私贯穿整个设计过程。(维基百科)隐私影响分析甚至在开始阶段...

Day15 互动式CSS按钮动画(下)

由下向上填满 HTML <div class="shape-ex6">...

D10- 用 Swift 和公开资讯,打造投资理财的 Apps { 台股申购实作.3-让申购资讯放进可以清楚理解的 TableView }

接下来,进行台股申购 Model 实作,这个 Model 该负责的任务如下 申购资料下载 申购列表总...