Python Flask 結合 Ngrok 架一個本地端的Https伺服器

使用Python的Flask結合Ngrok建置一個Https伺服器

透過Ngrok結合Flask, 來架設一個簡單的伺服器, 與下一篇的Line ChatBot做結合 有興趣的可以參考 - 透過Python架設Line Chatbot

介紹

Ngrok 提供的是一個Https網址可以連結到本地端架設server

為什麼要這樣做呢?

因為通常Webhook都要求https的網址

以前我們通常都怎麼做呢

都是將code 部署到一台伺服器上再做測試

這樣子其實改一下 部署 有問題再改一下 再部署

每次部署少說1分鐘

一天這樣修改下來 來來回回也會浪費不少時間

所以呢 Ngrok當初所提出的概念就是

Spend more time programming. One command for an instant, secure URL to your localhost server through any NAT or firewall.


至於付費方案嗎

我們使用免費版就好

For quick demos and other simple tunneling needs.

HTTP/TCP tunnels on random URLs/ports

限制如下

  • 1 online ngrok process

  • 4 tunnels/ngrok process

  • 40 connections / minute

註冊

首先我們先進入Ngrok

然後點選 Sign Up For Free

之後註冊一些資訊

註冊完成後

他會顯示一個頁面

照著做就可以正常運作了

值得一提的是有個Auth需要記起來

等我們安裝完應用程式後,會需要用到這行!!

./ngrok authtoken 5aN————————

Download

進入Ngrok,點選Download

那就照著上面的步驟做,應該不難

到剛剛下載的目錄,解壓縮

unzip /path/to/ngrok.zip

用command到剛剛解壓縮完的目錄

將剛剛叫你們記起來的Auth貼上來

./ngrok authtoken -YOUR_AUTH_TOKEN-

之後會說Authtoken saved to configuration file: XXXXXX

那接下來輸入下面這行

./ngrok http 80

之後出現這個畫面

他有給你網址

這樣就成功了

結合flask

因為flask預設的port是5000

所以我們開一個port5000的來用用

./ngrok http 5000

先寫一個.py的程式碼 叫做flask_offline.py好了


from flask import Flask, request, abort

app = Flask(__name__)

@app.route('/')
def homepage():
    return 'Hello, World!'

@app.route('/test')
def in_test_page():
    return 'In test page'

if __name__ == "__main__":
    app.run()

之後開啟這個flask

python flask_offline.py

至瀏覽器輸入在ngrok上給的網址

成果如下圖

啊 這樣就結束了

好像有點簡單。。。

參考連結

Ngrok


© XiaoSean 2018. All rights reserved.

Powered by Hydejack v7.5.1