想继续使用Valine或LeanClound存储的快绑定域名

在开始前先做一个简单科普,很多朋友在使用评论功能的时候可能留意到了 Valine 这个插件,它是一个很好用的评论插件,但是可能有一部分人并不知道这个插件实现评论的原理,其实它的评论存储服务是依赖于 LeanClound 的,这个 LeanClound 实际上是一个云服务器提供商,只不过它比较人道的是提供了一个开发版环境(虽然资源很小,云引擎只有 0.5CPU 256MB,但是数据库却是够用的),我们实际上是使用了它提供的数据存储服务,而且 LeanClound 为我们提供了一套 JavaScript SDK 来操作数据库,也就是我们要引入的一个 js 文件:

1
<script src="//cdn.jsdelivr.net/npm/leancloud-storage@3.15.0/dist/av-min.js"></script>

实际上 Valine 就是基于这套 api 来实现数据的插入和查询,然后展现到我们的博客,这样我们就很透彻的理解了它们之间的关系了,接下来进入我们今天的正题。

不知道大家还记得前段时间 LeanClound 的那条紧急通知短信不,整个国内用户均受到了影响,导致一段时间内不能访问,而且必须迁移新地址,短信内容如下(6月21日收到短信):

LeanClound 紧急通知短信 LeanClound 紧急通知短信

因为本站用的是 Valine 插件,当时第一反应是去 Github 上查看此框架的中的域名更改情况,还好大家都很积极的解决了这个问题,解决过程可以查看此链接:leancloud无法解析导致Valine无法正常使用 #188

最后 Valine 的作者也很及时的出了一个新版本解决了这个问题,而且说明了调用是 Valine 之外的 AV.init 方法,需要手动设置 serverURLs:

1
2
3
4
5
AV.init({
    serverURLs: 'https://avoscloud.com',
    appId: id,
    appKey: key
});

过了不久,在 8 月 5 日官方的博客发了一份声明:请各位用户在 10 月 1 日前绑定自己的域名

我们在一段时间之前曾通知过大家 LeanCloud 中国版将停止为不绑定自有域名的应用服务。我们将从 10 月 1 日起执行这个规定。需要绑定的域名包括 API 域名、文件域名、云引擎域名。如果您只使用部分服务,只需绑定所使用的服务对应的域名。这三个域名可以是您的一个顶级域名下的三个不同的子域名。没有绑定自有域名的应用,相关服务将会被禁用。如果没有绑定 API 域名,存储、即时通讯、云函数会被禁用;如果没有绑定文件域名,将不能使用文件相关的 API;如果没有绑定云引擎 web 域名,将不能使用云引擎提供 HTTP 服务。

宁愿相信是真的,所以我第二天就去 Leancloud 提交了域名备案申请,申请过程还算比较顺利,和正常备案一个域名的过程没有任何区别。中间会提交到管局审核,第一次我没有注意到发来的验证码短信,结果就备案失败了。

还好,我联系了客服发送了一份邮件说明了情况,接下来提交管局第二天就收到了短信验证码最后顺利通过。

接下来就是绑定域名问题了,我目前只是用到 LeanClound 的存储 API, 所以按照官方博客上的说明只需要绑定此域名即可(而且建议绑定二级域名,因为一级域名也许就是你的博客地址),我绑定的域名是 leancloud.dp2px.com:

绑定过程很简单,我这里简要说明一下步骤:打开 设置 –> 域名绑定 –> API 访问域名 –> 绑定新域名

输入你要设置的二级域名,例如我的(leancloud.dp2px.com),然后有一个设置项是关于 SSL 的,如果你的站点是 HTTPS 的,你可以勾选 启用 SSL 选项,如果你有自己的泛型 SSL 证书可以选择手动安装证书。如果我们按照默认的自动则会帮我们申请一个 SSL 证书,也就是说你可以这样访问 https://leancloud.dp2px.com.

接下来就会提示让我们去设置 CNAME, 例如我设置的如下:

等待几分钟后就会帮我们申请好 SSL 证书并一切就绪,接下来我们只需要去 Valine 插件中的执行代码处添加一个 serverURLs:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
<div id="valine-thread" class="content"></div>
<script src="//cdn.jsdelivr.net/npm/leancloud-storage@3.15.0/dist/av-min.js"></script>
<script src='//unpkg.com/valine@1.3.9/dist/Valine.min.js'></script>
<script>
    new Valine({
        el: '#valine-thread' ,
        notify: false,
        verify: false,
        app_id: 'xxxxx',
        app_key: 'xxxxxxxxxx',
        placeholder: '发表您的意见,让我们一起交流,共同提高吧...',
        serverURLs: 'https://leancloud.dp2px.com'
    });   
</script>

注意将上面的 serverURLs 换成你自己刚刚绑定的二级域名即可。