在前面一篇文章《当微信小程序赶上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能够得到的经验。在开始作这个微信小程序时,以为很简单,但作着作着,发现一路碰到的问题还很多。这也是我常常建议新手本身动手作点小项目的缘由,即便这个小项目并无什么产品价值,即便是在现有的代码上修改,但这个过程当中积累的经验对于我的来讲,仍是很宝贵的。微信小程序