在前面一篇文章《當微信小程序趕上TensorFlow:Server端實現》中,咱們探討了微信小程序server端的實現。今天在調試微信小程序時才發現一個問題,那就是:微信小程序要求HTTP請求走更加安全的HTTPS協議。python
爲此我研究了Simple TensorFlow Serving: github.com/tobegit3hub… 的源碼,發現其WEB框架採用了flask。flask要增長https支持至關容易,所以我增長了三個參數:git
parser.add_argument(
"--enable_ssl", default=False, help="If enable RESTfull API over https")
parser.add_argument(
"--secret_pem", default="secret.pem", help="pem file")
parser.add_argument(
"--secret_key", default="secret.key", help="key file")
複製代碼
第一個參數指定是否啓用HTTPS協議,後面兩個參數爲證書文件名。這個修改我已經向原做者提了一個PR,等待合併。在合併以前,你能夠訪問 github.com/mogoweb/sim… 獲取最新代碼。github
上阿里雲能夠申請一個免費的證書,雖然有效期只有一年,但對於我來講足夠用。須要注意的是,阿里雲上申請證書很隱蔽,我也是嘗試了好幾個組合,那個免費證書的選項纔出現。由於個人主機就是託管在阿里雲上,域名也是使用阿里雲的DNS服務,因此申請完後,很快就審覈經過,而後就能夠下載證書。證書下載時我選擇證書for Nginx,下載下來就是兩個文件:一個pem文件,一個key文件。web
測試客戶端倒不須要怎麼修改,只須要將URL的 http:// 修改成 https:// 便可。爲此,我也增長了一個參數enable_ssl:flask
if enable_ssl :
endpoint = "https://ilego.club:8500"
else:
endpoint = "http://ilego.club:8500"
複製代碼
完整代碼請參考: github.com/mogoweb/aie…小程序
真正在作項目時,總會碰到意想不到的問題,這遠不是照着書本敲幾個demo能夠得到的經驗。在開始作這個微信小程序時,以爲很簡單,但作着作着,發現一路碰到的問題還很多。這也是我常常建議新手本身動手作點小項目的緣由,即便這個小項目並無什麼產品價值,即便是在現有的代碼上修改,但這個過程當中積累的經驗對於我的來講,仍是很寶貴的。微信小程序