利用coding.net搭建小程序的合法request域名

问题由来

由于微信小程序的网络请求不能通过XMLHTTPRequest对象或是通常的一些封装好的网络请求库(如axiosfetchjquery等等),只能使用微信小程序运行环境提供的wx.request()方法进行网络请求;然而该方法只能接受https协议的域名作为合法请求域名,所以首先必须要有SSL证书以及可以配置SSL证书的主机。

所以问题来了,阿里云所有的虚拟主机都不能对服务器端配置进行修改,所以即便申请到了SSL密钥也没法进行配置,因此只能间接配置;

解决方案一:CDN

从网上搜了很多答案,几乎都提到了直接利用CDN加速服务,将流量转换成https,手动配置好申请的SSL证书即可。

然而,我在腾讯云上配置好CDN和SSL证书后,使用https对域名进行访问会报错,所以也不知道哪一步弄错了,心累……

解决方案二:coding.net

突然想到github提供了一个支持https访问的个人域名https://username.github.io,然而这只是静态页面,无法对api请求做出反应。

不过,好在国内也有一个不错的git代码托管网站——https://coding.net/,不仅支持静态page,而且前不久还开放了动态page(支持PHP),而且默认提供https支持,简直太慷慨了……、

coding.net的动态page

直接对某个git项目设置为动态page后,就能得到一个随机分配的https域名,由于被滥用,微信貌似对这类域名进行了屏蔽(果然很多人早就开始利用这个了),不过好在还可以进行自定义域名绑定,用自己备案好的域名绑定就可以了。

真是帮了大忙,把php文件上传进去就可以在微信小程序进行API访问了!

coding

后话

所以还是要好好支持一下coding.net,功能确实强大;除了动态page,webIDE也是很不错的!