微信小程序的请求必须是HTTPS
到处是坑,到处是坑。
准备基于现有的 Brick4 搞个微信小程序。
今天周六,心情不错,想利用上午时间从零起个头儿。
开通邮箱,申请小程序,下载开发工具,根据入门文档跟世界打个招呼。挺顺利的。
那赶紧入正题吧!看看小程序怎么请求数据啊。嗯,用 wx.request()
。啥?必须要HTTPS?!
然而阿里云虚拟主机不支持HTTPS啊!我之前也没这个需求,一直觉得无所谓。
看来早晚得搞HTTPS。
申请阿里云的 Symantec 证书,挂上按流量计费的阿里云CDN,用迂回路线实现了HTTPS,但是 Symantec 的 证书在浏览器上会有个不安全的红叉。不知道微信小程序是否堪用。
实在不行,要不先用香港的虚拟主机上HTTPS吧,好在阿里云虚拟主机的MySQL可以远程登录,慢是慢点儿,但在不增加支出的情况下对付一下应该还是可以的。不着急,今天先这样吧,有空试一下。
2017-09-08 更新
Brick4.com 的小程序已经做好了。本地调试的时候一直关闭了域名校验,现在弄好了,琢磨上线了,还是栽在HTTPS证书这里, Symantec 的 免费证书就是个大红叉,微信也扔给我一句“对应的服务器证书无效”。
先忙别的吧。
2017-09-08 晚 更新
决定先换个证书试试。打开 sslforfree 几步就拿到了 letsencrypt 的证书,配置到阿里云的CDN。嗯,不错。直接就是小绿锁。
是不是可以上传微信小程序了?慢着,为啥我的手机小程序打开后载不进来Json数据?“request:fail ssl hand shake error”,与SSL服务器握手失败是个什么鬼?
2017-09-11 更新
PC的调试环境没问题,iOS也没问题,Android手机不行。
一顿查阅,觉得问题应该是“缺少中间证书”。把拿到的两个证书都贴到CDN的配置里,问题解决。
所以小程序可以上传供审核了。