其实ngrok有客户端ngrok和服务端ngrokd,在用户客户端发起请求时,就是这两个端起作用转发请求
1.当服务端接收到连接,就读取映射表,判断接收的端口对应於哪一个客户端,然後向客户端评论数据。
2.客户端收到数据,读取本地映射表,判断对应哪个内网地址,向内网地址发起连接。
3.客户端和内网的服务器建立连接後,向服务端发起一个连接,作为评论通道。
4.服务端读取请求数据,并通过转发反馈到客户端,客户端读取响应并通过反馈返回请求。
我们可以看到如果要转发数据,一定要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 -页面流程图
接续上次所练习的if-else条件式判断 今天要来学习的是「巢状式if条件式」 巢状式其实就是像鸟巢...
三十天很快要到了尾声了,今天要来介绍 The Twelve-Factor App(下称 12 Fac...
欧洲GDPR设计,这就要求隐私被考虑纳入隐私贯穿整个设计过程。(维基百科)隐私影响分析甚至在开始阶段...
由下向上填满 HTML <div class="shape-ex6">...
接下来,进行台股申购 Model 实作,这个 Model 该负责的任务如下 申购资料下载 申购列表总...