微信小程序开发该如何绕开域名 ICP 备案而实现接口调用

avatar
作者
筋斗云
阅读量:7

开发过微信小程序的同学肯定都知道,小程序在使用网络相关的 API 时,必不可少的一环就是服务器域名配置,因为微信开发者文档中明确指出:

其中,支持https访问相对来说还是比较简单的,业内也有免费的 SSL 证书解决方案Let's Encrypt。但是,服务器域名的 ICP 备案就有点麻烦了。不是说备案流程复杂(正常流程一周内还是可备案通过的),而是麻烦在服务器所在的一些云主机不具备国内的备案条件,比如 Google Cloud Platform(简称 GCP)。

那么,有没有一种方法可以绕开服务器域名的 ICP 备案进行小程序的后台接口调用呢?方法还是有的,即利用微信给每个小程序配备的云开发环境来实现。

域名代备案违法吗_域名代备案 会怎么样_域名备案代理最快

开发者可以使用云开发开发微信小程序、小游戏,无需搭建服务器,即可使用云端能力。

云函数无需自建服务器,在云端运行的代码,微信私有协议天然鉴权,开发者只需编写自身业务逻辑代码

其中,每个小程序至多可以申请两个开发环境,且开发的环境只有 Nodejs8.9 一种版本。可以利用Nodejs8.9 环境做一个中转,在云函数中直接访问未备案的域名或者 IP。这两者还是建议采用域名,后面会讲原因。

以上方法的优点有:

1.如果只使用云函数就能覆盖小程序的业务,甚至省下了服务器的钱

2.可以不备案,也能实现相关的业务功能(此处并未推荐大家不备案,请遵守国内法律,老老实实去备案)

3. 如果在云函数中采用域名访问,还能拥有一定的容灾能力。比如,一台域名对应的主机宕机了,可以手动将 DNS 解析切换到备用主机上

当然,缺点也很明显:

1. 云函数作为一个跳板,用户发起的接口是有被转发的,一定程度上会影响用户体验,比如接口耗时慢,页面响应迟钝等

2. 如果是 GCP 的主机,那么肯定没有部署在国内(笑~),从国外访问国内很可能会出现严重丢包的情况,比如丢包 98%。这种情况相当于业务功能失效,中转的方案也就失效了

3. 由于 Nodejs8.9 版本太老,一些在后续版本中原生支持的功能只能接入三方依赖来完成,但又受腾讯云环境影响而无法实现。比如,iltorb 需要 native binding 才能使用,而目前自动安装依赖和上传全部依赖都无法做到

域名代备案 会怎么样_域名代备案违法吗_域名备案代理最快

另外,域名和备案之间不是充分必要条件。你有一个域名,你可以选择不备案;但是如果你要备案的话,你必须得有一个域名,且有一个云主机。

目前,阿里云的云主机有一个活动,就是“备多久送多久”,即在所购买云主机的有效期内备案成功,就能延期到备案成功那天。举个例子,在 2020 年 4 月 17 日购买了一年期的云主机,到期日为 2021 年的 4 月 17 日,此时在 2020 年的 4 月 23 日备案成功,云主机就会延期到 2021 年 4 月 23 日过期。

域名备案代理最快_域名代备案 会怎么样_域名代备案违法吗

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!