或許跟我熟一點的都會知道去年參加了科技抗疫專案,然後透過 TWCC ( Taiwan Computing Cloud, 台灣AI雲 ) 提供的 V100 讓很給力的小夥伴們把聲紋識別的效果做得蠻不錯的 !
話說一直很意外 " 痛痛的人生-我在國家高速網路與計算中心的日子 " 被Google排在第一頁,但希望這篇用ngnix來做到ngrok且有SSL功能,比較正經點的文可以繼 Google " ASR NLP " 後也有機會SEO在第一頁出現,當然點閱 " https://www.twman.org/AI " 進一步瞭解更好,目前包含 TW Deep Master (臺灣深度大師) 和 Meeting & Minutes Master (M&M Master, 會議記錄大師) 都已佈署於 TWCC 上DEMO跟試用哦;後續也會再嘗試新增新的服務 !
而這邊要分享的是 ngrok 的 SSL 功能 ... 因為很多時候在開發系統時,想測試卻沒有對外的網路,這時就需要 ngrok,使用方法其實頗簡單,註冊個帳號設定一下就可以,https://ngrok.com/docs 裡面說明的很清楚 ! 如果因為 -host-header 可以參考底下這文章
之前為了 https 一度去買了 SSL,但其實你用 Google Site 或者 Google Blogger 這些都是直接能幫你轉 SSL,除非你用了一些市面上的建站工具等,或者你是自己跑 flask 這樣;這邊意外找到一個 SSL 申請:https://zerossl.com,申請一次可以使用 3 個月;然後蠻好理解跟設定
付費版本很好理解,基本免費版本就很夠了,驗證方式也是很簡單,不然就是真的文件盡量翻一下 !
https://help.zerossl.com/hc/en-us/articles/360058295894-Installing-SSL-Certificate-on-NGINX
app.run(host='0.0.0.0', port=args.port, ssl_context=('/PATH/XXX.crt', '/PATH/XXX.key'))
再來就是因為 ngrok 免費版是每次生出一個亂數網址,如果你的環境是可以像 twcc 的 VCS 一樣可以自己開 port 而 flask 只能開在 1024 以上,但若想給人試用網址時還是略嫌麻煩 ... 所以就是自己裝個 nginx 然後把它導到 flask 了 !
apt-get install nginx
server {server_name 你的網址; # Virtual Host 的名稱listen 443 ssl;location / { # 將 / 導引到建立好的 SSH tunnelproxy_pass https://0.0.0.0:PORT;}ssl_certificate /PATH/certificate.crt;ssl_certificate_key /PATH/private.key;}
